.386
text segment use16
assume cs:text
begin: mov ax,data
mov ds,ax
mov cx,10
cycle: push cx
mov ah,09h
mov dx,offset string
int 21h
mov ECX,60000
delay: db 67h ;<---Ругаеться на db
; Дословный текст из книги "Для того чтобы заставить процессор в команде перехода (каковой является команда цикла
; loop) использовать регистр ЕСХ целиком, следует перед этой командой включить так
; называемый префикс размера адреса 67h. "
loop delay
pop cx
loop cycle
mov ax,4c00h
int 21h
text ends
data segment use16
string db 'Hello$'
data ends
stk segment stack
db 256 dup (0)
stk ends
end begin
ml -c /Zm p.asm
mov ah,09h? Более новая-то она более новая, но ты ХОЧЕШЬ использовать те вещи, которые были в ходу в версии более старой, вот и обеспечивай совместимость с ней.
mov dx,offset string
int 21h
include F:\masm32\macros\macros.asm
; ...
mov eax, 16355
print str$(eax)
.486
.model flat, stdcall
option casemap :none
include F:\masm32\include\windows.inc
include F:\masm32\macros\macros.asm
include F:\masm32\include\masm32.inc
include F:\masm32\include\gdi32.inc
include F:\masm32\include\user32.inc
include F:\masm32\include\kernel32.inc
includelib F:\masm32\lib\masm32.lib
includelib F:\masm32\lib\gdi32.lib
includelib F:\masm32\lib\user32.lib
includelib F:\masm32\lib\kernel32.lib
includelib F:\masm32\lib\msvcrt.lib ; это для wait_key
.data
number dd ?
.code
start:
; получаем от пользователя строку, преобразуем ее в число,
; и заносим в number
mov number, sval(input("Enter number here: "))
; печатаем содержимое number
print str$(number)
; пауза до нажатия кнопки пользователем
call wait_key
exit
end start
CSEG segment
org 100h
Begin:
mov ah,9
mov dx,offset Message
int 21h
int 20h
Message db 'Hello, world!$'
CSEG ends
end Begin
.model tiny
.code
org 100h
start:
mov ah,9
mov dx, offset Message
int 21h
ret
Message db 'Hello, world!$'
end start
>ml /c 1.asm
>link16 /tiny 1.obj, 1.com,,,,
>ml /c 1.asm
>link16 /tiny 1.obj, 1.com,,,,
LINK : warning LNK4044: unrecognized option "tiny" ignored
1.obj : warning LNK4033: converting object format form OMF to COFF
1.obj : fatal error LNK 1190: invalid fixup found, type 0x0001