首页 > 代码库 > 记录自己的第一个比较长的汇编代码

记录自己的第一个比较长的汇编代码

记录自己的第一个比较长的汇编代码, 看学完后,回过头再来看的感觉是什么。

没新意的想法写出来的代码,只是没有纯dos环境。通过debug倒是看到全部的结果,不过是一个个显示 。题目是王爽汇编实验9.

本是自己记录,当然,大家有什么看法,欢迎随便说说。

assume cs:code, ss:stacksg
datasg segment
db ‘welcome to masm!‘
datasg ends
colorsg segment
db 00000010b, 00100100b, 01110001b
colorsg ends

stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends

code segment
start:
mov ax, datasg
mov ds, ax
mov ax, stacksg
mov ss, ax
mov sp, 16
mov ax, 0b800h
mov es, ax
;mov si, 1984
mov si, 3872
mov bx, 0
mov cx, 3

s1:
push ds
mov ax, colorsg
mov ds, ax
mov ah, [bx]
pop ds
push cx
push bx
mov cx, 16 ; 16为字符串长度
mov di, 0
mov bx, 0
s2:
mov al, ds:[di]
mov es:[si + bx], ax
add bx, 2
inc di
loop s2
pop bx
pop cx
add si, 160
inc bx
mov ah, [bx]
loop s1
mov ax, 4c00h
int 21h
code ends
end start