📄 brown2.asm
字号:
assume ss:codevir
pila segment stack 'stack'
db 64 dup ('12345678')
pila ends
code segment
anfitrion:
assume cs:code, ds:code
mov ah, 02h
mov dl, 'z'
int 21h
mov ax, 4C00h
int 21h
code ends
codevir segment
assume cs:codevir, ds:codevir
start:
mov cx, (offset fincomienzo)-(offset comienzo)+(longi)+16
mov si, offset comienzo ; Puesto por el compilador
bucleen:
xor byte ptr cs:[si],00h
xor byte ptr cs:[si],00h
inc si
loop bucleen
;***comienzo***
comienzo:
call acanomas
acanomas label near
pop ax
add ax, offset fincomienzo - offset acanomas
test al, 0Fh
jz noinc
add ax, 0010h
noinc:
mov cl, 04h
shr ax, cl
mov cx, ax
push cs
pop bx
add bx, cx
xor ax, ax
push cs
push bx
push ax
retf ; Salto a OFS0
fincomienzo:
codevir ends
;***OFS0***
porfin segment
assume cs:porfin, ds:porfin
; Estoy en offset 0 con el segmento anterior
; en la pila
add cs:[segcsm], cx
mov ah, 0DDh
int 21h
cmp ax, 'LO'
mov cs:[segant], ds
push cs ; DS = Ac
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -