|
25鱼币
程序来自零基础学汇编第32课 要求用汇编转换字母大小写 关于这段程序实在有许多看不多的地方 希望有前辈能给解释一下 不胜感激
assume cs:codesg,ds:datasg
datasg segment
db 'BiSiC'
db 'iNforMaTion'
datasg ends
//问一: 关于这里我想问的是db 这个字符串 这两个字符串的数据是存放放在detasg中吗 为什么我在debug查
codesg segment 到的是076a 是什么情况
start:mov ax,datasg
mov ds,ax
mov bx,0
mov cx,5
s: and al,11011111b // 问二 循环5次 是怎么办到的 我自己用debug调试过了 但是还不不明白原理 请一步一步说下原理好吗 还有
mov[bx],al 关于11011111b这个数据是为什呢 如果是每五个字母的十六进制 换算出来也不对啊 大写的a是从65开始的
inc bx
loop s
5
mov bx,5
mov cx,11
s0: mov al,[bx]
or al,00100000b //这里也是同理 为什么是要设置这个数
mov [bx],al
inc bx
loop s0
mov ax,4c00h //问三 最后这两个代码的意义或者说是作用是什么 百度是解释不清楚 希望能通俗简单的说一下
int 21h
codesg ends
end start
|
|