Как переделать комовский код для .exe - Assembler
Формулировка задачи:
Есть вот код для проги .com. Как его переделать, чтобы можно было скомпилить в тасме в .exe?
.model tiny .code org 100h .startup mov dx,offset urname ;запрос ввода имени mov ah,09h int 21h ;----------------------- mov dx, offset name1 ;запись строки в переменную name1 mov ah,0ah int 21h ;----------------------- mov dx,offset ursuname ;запрос ввода фамилии mov ah,09h int 21h ;----------------------- mov dx, offset surname ;запись строки в переменную surname mov ah,0ah int 21h ;----------------------- mov dx,offset vivod ;здесь вывод всех введенных данных lea di,vivod + 8 lea si,name1+2 mov cl,[name1+1] xor ch,ch rep movsb mov al,' ' mov cx,2 rep stosb lea si,surname+2 mov cl,[surname+1] xor ch,ch rep movsb mov byte ptr [di],'$' mov ah,09h int 21h ret urname db 13,10,'Enter your name $' ursuname db 13,10,'Enter your surname $' name1 db 255,255,255 dup ("$") surname db 255,255,255 dup ("$") vivod db 10,13,"Hello $" end
Решение задачи: «Как переделать комовский код для .exe»
textual
Листинг программы
.model small .data urname db 13,10,'Enter your name $' ursuname db 13,10,'Enter your surname $' name1 db 255,255,255 dup ("$") surname db 255,255,255 dup ("$") vivod db 10,13,"Hello $" .stack db 255 dup(?) .code start: mov ax,@data mov ds,ax mov es,ax mov dx,offset urname mov ah,09h int 21h mov dx,offset name1 mov ah,0Ah int 21h mov dx,offset ursuname mov ah,09h int 21h mov dx,offset surname mov ah,0Ah int 21h mov dx,offset vivod lea di,vivod+8 lea si,name1+2 mov cl,byte ptr [name1+1] xor ch,ch rep movsb mov al,' ' mov cx,2 rep stosb lea si,surname+2 mov cl,byte ptr [surname+1] xor ch,ch rep movsb mov byte ptr [di],'$' mov ah,09h int 21h mov ah,4Ch mov al,00h int 21h end start
Объяснение кода листинга программы
В этом коде на языке Assembler происходит ввод имени и фамилии с помощью функции int 21h, а затем выводится приветствие, используя функцию int 21h, и после этого выводится сообщение об успешном завершении работы программы. Имя и фамилия сохраняются в соответствующих переменных, а затем выводится сообщение, используя функцию int 21h. В конце работы программы выводится сообщение об успешном завершении работы программы с помощью функции int 21h.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д