我们可以在汇编程序中,用’……’的方式指明数据是以字符的形式给出的,编译器将把它们转化为相对应的ASCII码。如下面的程序。
assume cs:code data segment db "unIx" db "foRK" data ends code segment start: mov al, "a" mov bl, "b" mov ax, 4C00H int 21H code ends end start
上面的源程序中:
“db 'unIX'” 相当于db 75H, 6EH, 49H, 58H,"u", "n", "I", "X"的ASCII码分别为75H, 6EH, 49H, 58H “db 'foRK'”相当于“db 66H,6FH,52H,4BH”,“f",“o",“R"、"K”的ASCII码分别为66H, 6FH, 52H、4BH mov al, "a" 相当于mov al, 61H,"a"的ASCII码为61H mov al, "b" 相当于mov al, 62H,"b"的ASCII码为62H
将上面的源程序编译成可执行文件后,用debug加载查看data段中的内容
先用r命令分析一下data段的地址,因 "ds = 075A",所以程序从076A段开始,data段又是程序的第一个段,它就在程序的起始处,所以它的段地址为 076A .
再用d命令查看data段,debug以十六进制数和ASCII码字符的形式显示出其中的内容,从中,可以看出data段中的每个数据所对应的ASCII字符.