根据材料编程(书上第187页,题目太长了...)--我用了比较笨的办法!
assume cs:code,ds:data,ss:stack
data segment
db 'welcome to masm!',02h,24h,71h
data ends
stack segment
db 16 dup(0)
stack ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov ax,stack
mov ss,ax
mov sp,16
mov cx,16
mov di,0
mov si,0
s: mov bx,0
mov al,ds:[di]
mov ah,ds:[12h] ;字符和其属性送入ax并入栈
push ax
mov ah,ds:[11h]
push ax
mov ah,ds:[10h]
push ax
pop es:[si].680h[bx] ;按列写入显存整体显示在屏幕中间
add bx,160
pop es:[si].680h[bx]
add bx,160
pop es:[si].680h[bx]
add di,1
add si,2
loop s
mov ax,4c00h
int 21h
code ends
end start
- [springaccount] O(∩_∩)O哈哈~ 谢谢老师的精彩点评 我又有激情了…… 01/06 17:10
- [游客] 谢谢你啊 呵呵 12/23 11:15
- [游客] 252025628 如果我说的不对,希望博主联系我,还请赐教 09/17 05:51
- [游客] s:mov [bx],bx 也不对吧 应该是 mov [bx],bl 因为内存单元是字节数据,而b 09/17 05:49
- [游客] 能问个问题吗? 我没不明白为什么我用这种方法写把内容写入显存 但是运行什么也不显示 不知 06/11 22:37
- [rswjf] 你的子程序描述的太好了,向你学习!!! 06/03 23:10
- [rswjf] 刚刚做完这个课程,真花时间。一看就知道你做得过程很清楚。我的。。。。。明天再改了。 06/03 22:57
- [游客] 第5题要把mov bx,0放在循环外吧 05/23 13:33
- [游客] 很好很强大 值得学习 顶了 04/20 18:13
- [jiajiade01] 谢谢老师的鼓励.您们才是让我们这些学习者值得尊敬的,在百忙中抽出时间认真的批阅这些枯燥的数据是很不容 03/24 22:07