累加ffff:0~ffff:b 中12 个数据
assume cs:codecode segmentmov ax,0ffffhmov ds,axmov bx,0mov dx,0mov cx,12s: mov al,[bx]mov ah,0add dx,axinc bx ;ds:bx 指向下一个单元loop smov ax,4c00hint 21hcode endsend
大小写转换问题
将datasg中第一个字符串转化为大写,第二个字符串转化为小写
assume cs:codesg,ds:datasgdatasg segmentdb 'BaSiC'db 'iNfOrMaTiOn'datasg endscodesg segmentstart: mov ax,datasgmov ds,axmov bx,0mov cx,5s: mov al,[bx]and al,11011111mov [bx],alinc bxloop smov bx,5mov cx,11s0:mov al,[bx]or al,00100000Bmov [bx],alinc bxloop s0mov ax,4c00hint 21hcodesg endsend start
规律:一个字母,不管它是大写还是小写(位数从0开始计算),将它的第五位置0,它就变成大写字母,置1则变为小写字母
