Advertisement
Xsufu

Осипов_6

Apr 19th, 2021 (edited)
3,316
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. masm                ;режим работы TASM: masm
  2. model small         ;модель памяти
  3. .data               ;начало сегмента данных
  4.     x1 db 26h      ;переменная x1 26h
  5.     x2 dw ?         ;пустая переменная х2 2 байта
  6.     mess_x2 db "Enter x2: $"    ;сообщение с приглашением ввода
  7.     mess_end db 10,13,"The program is work correctly$" ;сообщение об успешном окончании работы
  8. .stack              ;начало сегмента стека
  9.     db 256 dup ("?");пустой стек 256 ячеек
  10.    
  11. .code               ;начало сегмента кода
  12. main proc           ;начало процедуры main
  13.     mov ax, @data   ;адрес сегмента данных в ах
  14.     mov ds, ax      ;адрес сегмента данных из ax в ds
  15.  
  16.     ;основная программа
  17.     mov ch, 23d     ;запись числа 23d в ch
  18.     mov bl, al      ;содержимое al в bl
  19.     mov bh, offset x1 ;число из х1 в bh
  20.    
  21.     mov dx, offset mess_x2 ;приглашение ввода
  22.     mov ah, 9h             ;действие, которое выполнит прерывание  
  23.     int 21h                ;вызов прерывания int21 DOS
  24.    
  25.     mov ah, 1h             ;вводим число с клавиатуры
  26.     int 21h                ;вызов прерывания int21 DOS
  27.  
  28.     xor ah,ah              ;Очищаем регистр ah
  29.     mov x2, ax             ;перемещаем остаток от ax (al) в x2
  30.    
  31.     xchg cx, x2            ;обмен значений между cx и x2
  32.     mov ax, x2             ;х2 в ах
  33.     mov ds:[1000h], ax     ;ах в ячеку 1000h
  34.  
  35.     mov dx, offset mess_end ;сообщение об оконачании работы
  36.     mov ah, 9h             ;действие, которое выполнит прерывание
  37.     int 21h                ;вызов прерывания int21 DOS
  38.    
  39.     mov ax, 4c00h          ;подготовка программы к завершению
  40.     int 21h                ;вызов прерывания int21 DOS
  41.    
  42. main endp                  ;конец процедуры main
  43. end main                   ;конец программы с точкой входа main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement