a89361461 发表于 2011-3-27 00:18:32

实验10 第一题 搞不定了,求助。

本帖最后由 a89361461 于 2011-3-27 00:29 编辑

assume cs:code,ds:data

    data segment

    db 'welcome to masm!',0

    data ends



    code segment


w:mov dh,8
    mov dl,3
    mov cl,0
    mov si,0
    mov ax,0b800h
    mov es,ax
   

    mov al,160
    dec dh
    mul dh
    mov bx,ax

    mov al,2
    mul dl
    add bx,ax                            ;BX为显存内存单元的偏移地址
    call s
    mov ax,4c00h
    int 21h

s:mov ax,ds:                     
    mov ch,ds:
    mov ah,2                           ;ah定义颜色
    mov es:,ax                     ;直接用AX传送字母及字母的颜色
    inc si
    add bx,2

    jcxz ok
    jmp short s

ok: ret

    code ends


    end w
用DEBUG 查看数据段定义好的安符串时,怎么会看不到呢?

qq837745943 发表于 2011-3-27 05:51:25

{:2_26:}{:2_25:}

木吉他 发表于 2011-3-27 07:55:25

这是DOS程序的PSP头,你要查看定义的数据段,要加上PSP的256个字节,就是起始位置了.

a89361461 发表于 2011-3-27 13:24:40

本帖最后由 a89361461 于 2011-3-27 13:34 编辑

回复 3# 木吉他


    呵呵,找到原因了。竟然 漏写了两行代码。看来,编程是十分讲究细心的活儿。:lol   
   mov ax,data
   mov ds,ax

谢谢了。
页: [1]
查看完整版本: 实验10 第一题 搞不定了,求助。