小马过河 发表于 2012-1-16 10:40:10

实验 13 问题大家帮忙看看哪里错了

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



assume cs:dmd
sjd segment
db 'Welcome to masm!',0
sjd ends
dmd segment
cxks:mov dh,10
   mov dl,10
   mov cl,2
   mov ax,sjd
   mov ds,ax
   mov si,0
   int 7ch
   mov ax,4c00h
   int 21h
dmd ends
    end cxks


程序2



assume cs:code
code segment
start:mov ax,cs
   mov ds,ax;代码段送给数据段
   mov si,offset s   ;

   mov ax,0
   mov es,ax    ;将地址0送给附加段
   mov di,200h;将偏移200h送给DI
   mov cx,offset ok-offset s   ;取得程序的长度 字节长度
   cld         ;正向传输
   rep movsb      ;以字节方式传输

      mov word ptr es:,200h;将自己做的程序偏移地址送给7ch 号中中断
      mov word ptr es:,0   ;将段地址送给7ch号中断

   mov ax,4c00h ;b2 d5 00 c0
   int 21h


s: mov ax,0
    mov al,160;将行宽度送给AL
    dec dh      ;因为从0开始所以减一 ,行数存放在DH中
    mul dh      ;所要显示的的行数
    mov di,ax   ;第(bh)行
    mov ax,0
    mov al,2    ;因为字符显示占用两个字节ascii码和字符属性
    dec dl       ;因为从0开始所以减一
    mul dl       ;取得实际列

   mov bx,ax    ;第(dl)列
    mov si,0
    movax,0b80h
    mov es,ax

j: cmp byte ptr ,0
   je ok         ;等于0则跳转到OK处
   mov al,ds:
   mov byte ptr es:,al
   mov byte ptr es:,cl
   add di,2
   inc si
   jmp j          ;跳转继续执行

   iret;相当于pop ip   pop cs   pop 标志寄存器

ok:nop
code ends
end start我看了半天找不出哪里错了 程序报错大家帮忙看一下

小马过河 发表于 2012-1-16 13:08:39

帮忙看看那:L
页: [1]
查看完整版本: 实验 13 问题大家帮忙看看哪里错了