qwert0312 发表于 2020-1-15 22:01

王爽汇编语言实验九(题目我完成了,但是有二点我很困惑)

assume cs:code,ds:data
data segment
dw 'welcome to masm!'                   ;我想把这行的英文改成中文,也是16个字节,结果发现无法正常显示,然后我百度了一下如何让汇编识别中文,也没有说到这个上面的答案,然后我在想,是不是ASCII码默认的需要指定CPU来认识它?
db 02H,24H,71H
data ends
code segment
               start:mov ax,data
                     mov ds,ax
                     mov ax,0B800H       ;设置显存段地址。 这一行我本来设置的是B800H,因为在我看来,B800H和0B800H是一样的,结果不行,所以我有点疑惑,为什么前面那个0不能省略?
                     mov es,ax                ;设置显存段名称。
                     mov si,0                  ;设置字符串偏移地址。
                     mov di,10H             ;设置颜色属性偏移地址。
                     mov bx,0720H      ;设置首行显示位置,11行乘以160加上(160减去32后再除以2)。
                     mov cx,10H            ;设置循环次数,16个字符串。
                     s:mov al,            ;设置第一个字符串给al。
                     mov es:,al         ;设置al的字符串给首行显存地址。
                     mov es:160,al   ;设置al字符串给第二行显存地址。
                     mov es:320,al   ;设置al字符串给第三行显存地址。
                     mov al,             ;设置颜色属性给al。
                     mov es:,al    ;设置al的颜色属性给第一行字符串,以此类推。
                     mov al,      ;设置第二种颜色属性给al。
                     mov es:160,al ;设置第二种颜色属性给第二行字符串,以此类推。
                     mov al,          ;设置第三种颜色属性给al。
                     mov es:320,al ;设置第三种颜色属性给第三行字符串,以此类推。
                     add bx,2                  ;设置每个字符串偏移地址。
                     add si,1            
                     loop s            
                     mov ax,4c00H
                     int 21H
code ends                        
end start

不苦小和尚 发表于 2020-1-15 22:10

8086只有asiII编码,win98才出来的中文

薛定谔消失的弦 发表于 2020-1-15 22:26

8086没有ascii编码集,如果你想要进行输出只能是ascii编码
页: [1]
查看完整版本: 王爽汇编语言实验九(题目我完成了,但是有二点我很困惑)