鱼C论坛

 找回密码
 立即注册
查看: 2055|回复: 4

实验9的问题

[复制链接]
发表于 2012-1-7 00:51:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
下面是我改的程序
assume cs:code
data segment
db 'welcome to masm!'
db  2h,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,[si]               ;将 ds:si处的数据复制到al
        mov es:[di],al          ;将al中的数据复制到es:【di】中
        inc di                      ;将es偏移地址加1为存放颜色做准备
        mov al,[bx]             ;将颜色数据复制到al
        mov es:[di],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中却能查看显示在屏幕中的字
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-7 13:02:52 | 显示全部楼层

回帖奖励 +1 鱼币

本帖最后由 小马过河 于 2012-1-7 13:04 编辑
  1. assume cs:dmd,ds:sjd,ss:dzd
  2. sjd segment
  3. db 'woairenminbi  ok'
  4. db 4ah,0ah,7ch
  5. sjd ends
  6. dzd segment
  7. dw 8 dup(0)
  8. dzd ends
  9. dmd segment
  10. cxks: mov ax,sjd
  11.       mov ds,ax
  12.       mov ax,dzd
  13.       mov ss,ax
  14.       mov sp,10h
  15.       mov bx,0
  16.       mov ax,        0b872h
  17.       mov es,ax
  18.           mov di,0
  19.       mov si,0         
  20.       mov dx,16
  21.           mov cx,3
  22.          
  23. s1:   push cx            ;压栈CX
  24.           mov cx,16    ;十六个字母循环16次
  25.                     
  26. s2:  mov al,ds:[si]  ;取出代码段数据放入AL,字节型数据
  27.      mov es:[bx+di],al  ;将AL中数据放入附加段位置中
  28.          push bx      ;压栈BX
  29.          mov bx,dx
  30.          mov al,ds:[bx]  ;取数据段第17个字节数据
  31.          
  32.          pop bx
  33.          mov es:[bx+di+1],al
  34.          
  35.          inc si
  36.          add di,2
  37.          loop s2
  38.          inc dx
  39.          mov si,0
  40.          mov di,0
  41.          add bx,160         
  42.      pop cx
  43.         loop s1
  44.         mov ax,4c00h
  45.         int 21h
  46. dmd        ends
  47. end cxks  下面是我上午写了半天的代码
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-1-7 20:04:28 | 显示全部楼层
感谢你的辛苦    我已经了解了
http://bbs.fishc.com/forum.php?m ... mp;page=1#pid122805
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-19 19:43:36 | 显示全部楼层

回帖奖励 +1 鱼币

那,我先谢谢这一鱼币了。哈哈~~稍后来解答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-19 19:56:32 | 显示全部楼层
mov bx,16    偶数位表示的是属性,奇数位表示的是字符的ASC码。
我回家看看,回头再来答复,在这里我看的头都晕了。不知道怎么回事儿,心静不下来了。
我回家亲自动手做做。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-19 02:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表