Переделать готовый код с NASM в TASM под DosBox - Assembler
Формулировка задачи:
section .text org 0x100 mov si,arr+1 mov bh,0 mov bl,2 mov cx,8 first: mov al,byte [si] cmp al,[arr] jle skip1 cmp al,[arr+9] jge skip1 mov ah,0x2 mov dl,bl or dl,0x30 int 0x21 inc bl inc si dec cx jmp last skip1: inc bl inc si loop first last: jcxz empty mov al,byte [si] cmp al,[arr] jle skip2 cmp al,[arr+9] jge skip2 mov bh,bl skip2: inc bl inc si loop last cmp bh,0 jz exit mov ah,0x2 mov dl,' ' int 0x21 mov ah,0x2 mov dl,bh or dl,0x30 int 0x21 jmp exit empty: mov ah,0x2 mov dl,0x30 int 0x21 exit: int 0x20 section .data arr db 1,12,23,34,5,16,17,8,9,10
Решение задачи: «Переделать готовый код с NASM в TASM под DosBox»
textual
Листинг программы
.model tiny .code org 100h main proc start: ;программа int 20h main endp ;Данные arr db 1,12,23,34,5,16,17,8,9,10 end main
Объяснение кода листинга программы
В этом коде выполняется следующие действия:
- Указывается модель памяти - tiny.
- Определяется точка входа в программу - start.
- Переменная arr инициализируется значениями 1, 12, 23, 34, 5, 16, 17, 8, 9, 10.
- Код в точке входа в программу - start, вызывает прерывание 20h.
- Прерывание 20h в DOS используется для вывода строки символов на консоль. В данном случае выводится информация об ошибке.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д