Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- masm ;режим работы TASM: masm
- model small ;модель памяти
- .data ;начало сегмента данных
- x1 db 26h ;переменная x1 26h
- x2 dw ? ;пустая переменная х2 2 байта
- mess_x2 db "Enter x2: $" ;сообщение с приглашением ввода
- mess_end db 10,13,"The program is work correctly$" ;сообщение об успешном окончании работы
- .stack ;начало сегмента стека
- db 256 dup ("?");пустой стек 256 ячеек
- .code ;начало сегмента кода
- main proc ;начало процедуры main
- mov ax, @data ;адрес сегмента данных в ах
- mov ds, ax ;адрес сегмента данных из ax в ds
- ;основная программа
- mov ch, 23d ;запись числа 23d в ch
- mov bl, al ;содержимое al в bl
- mov bh, offset x1 ;число из х1 в bh
- mov dx, offset mess_x2 ;приглашение ввода
- mov ah, 9h ;действие, которое выполнит прерывание
- int 21h ;вызов прерывания int21 DOS
- mov ah, 1h ;вводим число с клавиатуры
- int 21h ;вызов прерывания int21 DOS
- xor ah,ah ;Очищаем регистр ah
- mov x2, ax ;перемещаем остаток от ax (al) в x2
- xchg cx, x2 ;обмен значений между cx и x2
- mov ax, x2 ;х2 в ах
- mov ds:[1000h], ax ;ах в ячеку 1000h
- mov dx, offset mess_end ;сообщение об оконачании работы
- mov ah, 9h ;действие, которое выполнит прерывание
- int 21h ;вызов прерывания int21 DOS
- mov ax, 4c00h ;подготовка программы к завершению
- int 21h ;вызов прерывания int21 DOS
- main endp ;конец процедуры main
- end main ;конец программы с точкой входа main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement