в чем разница между 2 исходниками для nasm и для as86? первый работает
(т.е. показывает текстовую строку), а второй нет.
1.[ORG 0]
vhod:
cli
mov ax, cs
mov ds, ax
mov es, ax
mov ss, ax
mov sp, start
sti
mov ax, 0x07c0
mov ds, ax
mov ax, 0x9000
mov es, ax
xor si, si
xor di, di
mov cx, 128
rep
movsd
jmp 0x9000:start
start:
mov ax, cs
mov ds, ax
mov ss, ax
mov si, msg1
call show_mes
loop1: jmp loop1
show_mes:
pusha
loop2:
lodsb
test al, al
jz .quit
mov ah, 0x0e
int 0x10
jmp loop2
quit:
popa
ret
msg1: db "Test", 0x0A, 0x0D, 0
2.
.ORG 0
entry vhod
vhod:
cli
mov ax,cs
mov ds,ax
mov es,ax
mov ss,ax
mov sp,#0x7c00
sti
mov ax,#0x7c00
mov ds,ax
mov ax,#0x9000
mov es,ax
xor si,si
xor di,di
mov cx,#128
rep
movsd
jmpi start,0x9000
start: mov ax,cs
mov ds,ax
mov ss,ax
mov si,#msg1
call show_mes
loop1: jmp loop1
show_mes:
pusha
loop2: lodsb
test al,al
jz quit
mov ah,#0x0e
int 0x10
jmp loop2
quit: popa
ret
msg1: .byte 10,13
.ascii "Test"
.byte 10,13