赵璐 发表于 2012-1-7 00:51:55

实验9的问题

下面是我改的程序
assume cs:code
data segment
db 'welcome to masm!'
db2h,24h,74h
data ends
stack segment
dw 8 dup(0)
stack ends
code segment
start:mov ax,data
      mov ds,ax
      mov ax,stack
      mov ss,ax
      mov sp,16
      mov ax,0b872h
      mov bx,16                           ;bx索引颜色
      mov cx,3
s:      push cx
      push ax
      mov si,0                     ;si索引数据段中的数据
      mov di,0                        ;dx索引显存中的地址
      mov es,ax                     ;显存段地址B872    屏幕中间
      mov cx,10h
      
s1:   mov al,               ;将 ds:si处的数据复制到al
      mov es:,al          ;将al中的数据复制到es:【di】中
      inc di                      ;将es偏移地址加1为存放颜色做准备
      mov al,             ;将颜色数据复制到al
      mov es:,al            ;将颜色复制到显存中
      inc di                      ;为下一个显存地址准备
      inc si                        ;下一个数据单元
      loop s1
      pop ax
      pop cx            
      add ax,0ah               ;把段地址指向下一行
      inc bx                         ;下一个字符属性
      loop s
      mov ax,4c00h
      int 21h
code ends
end start


为什么我执行程序后会报Invalid keyboard code specified运行时在屏幕上也没有字符显示错在debug中却能查看显示在屏幕中的字

小马过河 发表于 2012-1-7 13:02:52

本帖最后由 小马过河 于 2012-1-7 13:04 编辑

assume cs:dmd,ds:sjd,ss:dzd
sjd segment
db 'woairenminbiok'
db 4ah,0ah,7ch
sjd ends
dzd segment
dw 8 dup(0)
dzd ends
dmd segment
cxks: mov ax,sjd
      mov ds,ax
      mov ax,dzd
      mov ss,ax
      mov sp,10h
      mov bx,0
      mov ax,      0b872h
      mov es,ax
          mov di,0
      mov si,0         
      mov dx,16
          mov cx,3
         
s1:   push cx            ;压栈CX
          mov cx,16    ;十六个字母循环16次
                  
s2:mov al,ds:;取出代码段数据放入AL,字节型数据
   mov es:,al;将AL中数据放入附加段位置中
         push bx      ;压栈BX
         mov bx,dx
         mov al,ds:;取数据段第17个字节数据
         
         pop bx
         mov es:,al
         
         inc si
         add di,2
         loop s2
         inc dx
         mov si,0
         mov di,0
         add bx,160         
   pop cx
      loop s1
      mov ax,4c00h
      int 21h
dmd      ends
end cxks下面是我上午写了半天的代码

赵璐 发表于 2012-1-7 20:04:28

感谢你的辛苦    我已经了解了
http://bbs.fishc.com/forum.php?mod=viewthread&tid=12876&page=1#pid122805

事事如意 发表于 2012-1-19 19:43:36

那,我先谢谢这一鱼币了。哈哈~~稍后来解答

事事如意 发表于 2012-1-19 19:56:32

mov bx,16    偶数位表示的是属性,奇数位表示的是字符的ASC码。
我回家看看,回头再来答复,在这里我看的头都晕了。不知道怎么回事儿,心静不下来了。
我回家亲自动手做做。
页: [1]
查看完整版本: 实验9的问题