编程实现: U<-- V+(S-6) 设U,V,S均为二位十进制压缩BCD码(如:49H)方法一:data segment v db 49h s db 15h u db ?data endscode segment assume cs:code,ds:datastart: mov ax,data mov ds,ax mov al,s sub al,06h das jbe l1 add al,v daa jmp l2 l1: neg al ;如果是负数,则求出其对应的正数 mov ah,al ;将s-06h的结果绝对值存在ah中 mov al,v sub al,ah ;用v-|s-06h| dasl2: mov u,al mov ah,4ch int 21hcode ends end start 方法二:(不用考虑正负数)data segement v db 49h s db 15h u db ?data endscode segment assume cs:code,ds:datastart: mov ax,data mov ds,ax mov al,s sub al,06h ; s-06h,al中存入的是0FH das ; al的内容变成了09H add al,u ; al的内容为52h daa ; (al)=58H mov ah,4ch int 21hcode ends end start ---------------------------你可以用v=15h,s=03h v=05h,s=02h v=49h,s=06h 这些类似的数去测试结果

评论