实验9
assume cs:codesg, ds:datasg, ss:stacksgdatasg segment
db'welcome to masm!';si索引,di定位
db 02h,24h,71h;bx索引
datasg ends
stacksg segment
dw 8 dup(0);存放16位寄存器的值,所以定义为dw
stacksg ends
codesg segment
start: mov ax, datasg
mov ds, ax
mov ax, stacksg
mov ss, ax
mov sp,10h;指向栈顶指针
mov ax, 0b872h ;要往ax处写入数据
mov bx, 0 ;存放属性
mov cx, 3
s: push cx ;最外层循环
push bx;属性偏移位置
mov es, ax ;往es处写内容
mov si, 0
mov di, 0
mov cx, 16;放入字母ASCII码
s1: mov ah, ;一个字节8位
mov es:, ah
inc si
add di, 2
loop s1
mov di, 1
pop bx;取出属性
mov ah, 10h;属性8位
inc bx;属性指向下一位置
mov cx, 16;放入属性
s2: mov es:, ah
add di, 2
loop s2
mov ax, es
add ax, 160;下一行
pop cx
loop s
mov ax,4c00H
int 21H
codesg ends
end start 没有看你的程序,但依我的经验来看,显示位置循的问题(最后面的把前的都覆盖了)
页:
[1]