微机原理 伪指令实例解析(2)

it2026-06-10  0

伪指令实例2

;eg2.找出字符串string中ASC码最大的字符。 assume cs:code,ds:data data segment string db '123Hello!' data ends code segment start: mov ax,data mov ds,ax mov bx,offset string mov cl,[bx] ;给cl赋初值;用cl存储字符串中ASC码最大的字符的ASCII码的16进制数据 x1: cmp cl,[bx] ;将cl与后面的字符的ASC码比较大小 ja x2 ;若前者大,则跳到x2 mov cl,[bx] ;若前者小,则重新赋值,然后程序顺序往下执行 x2: inc bx ;bx自增1,即移到字符串下一位 cmp bx,9 ;确保bx偏移量未超过字符串的长度 jb x1 ;重入循环,将当前最大值与下一个字符比较大小 code ends end start

截图: 中间的执行步骤太多,故截图省略。 因为将字符串中ASCII码最大的字符存在寄存器CX的低位cl上,故可从CX寄存器存储的数据中得出字符串string中ASCII码最大的字符是6F,即字符’o’。由下图可知: 总结: 继续干巴爹!!!淦就完事儿,嘿嘿

最新回复(0)