Code Monkey home page Code Monkey logo

x8086-16bit-masm-course-bmstu's Introduction

LAB2

Задание 1

Подготовить приведенную ниже программу к отладке:
а) скопировать текст программы в файл KR_1.ASM;
б) выполнить трансляцию: MASM /Zi KR_1.ASM,,;
в) выполнить компоновку: LINK /CO KR_1.OBJ;

SSTACK	SEGMENT PARA STACK  'STACK'
		DB   64 DUP('STACK____')
SSTACK  ENDS

DSEG	SEGMENT  PARA PUBLIC 'DATA'
     CA        DB      'A'
     KA        DB      '65'
     TXT       DB      'symbol "'
     C$        DB      ?
               DB      '" has code '
    KCH1       DB      ?
    KCH2       DB      ?
               DB      10,13,'$'
    MSG0       DB      'WORK BEGIN',13,10,'$'
    MSG1       DB      'END OF WORK',13,10,'$'
DSEG	ENDS

SUBTTL         MAIN PROGRAM
PAGE
     CSEG      SEGMENT PARA PUBLIC 'CODE'
               ASSUME CS:CSEG,DS:DSEG,SS:SSTACK

     BEGIN     PROC FAR

               PUSH  DS ; LOAD IN STACK PARAGRAPH'S NUMBER OF RETURN ADDRESS
               MOV  AX,0
               PUSH  AX

     ; LOAD DATA SEGMENT ADDRESS: DS
     M1:       MOV  AX,DSEG
               MOV  DS,AX

     ; TEXT OUTPUT "WORK BEGIN"
     M2:       MOV  AH,9
               MOV  DX,OFFSET MSG0
               INT  21H

     ; STRING OUTPUT "SYMBOL 'A' HAS CODE 65"
     MA:       MOV  AL,CA
               MOV  C$,AL
                  MOV  AX,WORD PTR KA
                  MOV  WORD PTR KCH1,AX
               MOV  AH,9
               MOV DX,OFFSET TXT
               INT  21H

     ; STRING "SYMBOL 'B' HAS CODE 66"
     MB:       INC  C$
               INC  KCH1+1
               INT  21H

     ; STRING OUTPUT "SYMBOL 'C' HAS CODE 67"
     MC:       INC  C$
               INC  KCH1+1
               INT  21H

     ; STRING OUTPUT "END OF WORK"
     M3:       MOV  AH,9
               MOV  DX,OFFSET MSG1
               INT  21H

     ; RETURN TO MS DOS (DEBUGGER)
               RET
BEGIN     ENDP
CSEG      ENDS
END  BEGIN

Задание 3

шаг 1
Установить командой W слежение:

а) за переменной С$,

  • command...

б) за выражениями KCH1-'0', KCH2-'0',

  • W? KCH1-'0',d // Наблюдение в десятичном виде
  • W? KCH2-'0',d // Наблюдение в десятичном виде

в) за верхней частью стека (двумя способами).

  • WW SS:SP // Вторая W-двойное слово, следим за двумя верхними байтами стека

Команды установок записать в соответствующих пунктах a), б), в) задания 3.
Проследить за их изменениями по шагам.

  • command...

Удалить точки слежения.

  • command...

шаг 2
Установить условные точки останова так, чтобы останов был:
a) при изменении переменных KCH1 и KCH2;

  • TP? KCH1

  • TP? KCH2

б) когда переменная C$ имеет значение 'B'.

  • WP? C$=='B'

Проверить останов при этих условиях.

шаг 3
Установить безусловные точки останова на строках программы с метками MB, MC и M3.

  • command...

Обеспечить в них вывод в окно диалога байтов из диапазона от TXT до MSG0 и продолжение выполнения программы с задержкой в 3 секунды. Перед вводом команд установить вывод информации в окно диалога.

  • D TXT MSG0
  • BP MB "D TXT MSG0; ::::::; E"
  • BP MC "D TXT MSG0; ::::::; E"
  • BP M3 "D TXT MSG0; ::::::; E"

x8086-16bit-masm-course-bmstu's People

Contributors

arturyumaev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.