首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

新人.王爽《汇编语言》实验九的一个小疑点

2012-04-07 
新人求助.王爽《汇编语言》实验九的一个小问题Assembly codeassume cs:codesg,ds:datasg,ss:stacksgdatasg s

新人求助.王爽《汇编语言》实验九的一个小问题

Assembly code
assume cs:codesg,ds:datasg,ss:stacksgdatasg segment  db 'Welcome to MASM!'  db 00000010B,00100100B,01110001Bdatasg endsstacksg segment  dw 0,0,0,0,0,0,0,0stacksg endscodesg segment  start:mov ax,datasg    mov ds,ax    mov ax,0B85AH    mov es,ax    mov di,10H    ;ds:[di] -> 字体属性    mov cx,3          s0:push cx    mov bx,0    ;ds:[bx] -> 待显示的字符    mov si,40H    ;es:[si] -> 显示缓冲区    mov cx,16      s:mov al,[bx]    mov es:[si],al    mov al,[di]    mov es:[si+1],al    inc bx    add si,2    loop s        inc di    add si,0A0H    pop cx    loop s0        mov ax,4C00H    int 21Hcodesg endsend start


为什么只有第三行(白底蓝字)的显示出来了…第一行和第二行都没有显示出来…

[解决办法]
根据楼主的改了下
Assembly code
assume cs:codesg,ds:datasg,ss:stacksgdatasg segment  db 'Welcome to MASM!'  db 00000010B,00100100B,01110001Bdatasg endsstacksg segment  dw 0,0,0,0,0,0,0,0stacksg endscodesg segment  start:mov ax,datasg    mov ds,ax    mov ax,0B85AH    mov es,ax    mov di,10H    ;ds:[di] -> 字体属性    mov cx,3    mov si,40H    ;es:[si] -> 显示缓冲区s0:    push cx    push si    mov bx,0    ;ds:[bx] -> 待显示的字符    mov cx,16s:    mov al,[bx]    mov es:[si],al    mov al,[di]    mov es:[si+1],al    inc bx    add si,2    loop s        inc di    pop si    add si,0A0H    pop cx    loop s0        mov ax,4C00H    int 21Hcodesg endsend start 

热点排行