1、1、 内存有一个字节变量 VAL 中存放着小写字符a,请将该字符转换为大写字符并在屏幕中显示出来。程序代码:程序基本是载入 val,然后减去 20H 变为大写字符,再用 02 功能显示出来。程序运行截图:DATAS SEGMENTval db aDATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AXmov dl,valsub dl,20hmov ah,2hint 21hMOV AH,4CHINT 21HCODES ENDSEND START2、设存储单元 A 和 B 各有一带符号字节数,比较大小和正负
2、,要求将较大数送 RES1 单元;如果有负数,将一个负数送 RES2,否则 RES2 送-1。程序代码:DATAS SEGMENTA db 2hB db 0efhRES1 db ?RES2 db ? DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AX我先处理了,当,中有负数时会跳转 load_res2:,然后将存在中的这个数字存起来,没有的话直接将)存入。在处理 RES1 比较 A,B 的 值分支后共同回到结束交 给系统。当 A=2,B=3 时将 A,B 分别载入与 0 比较mov ah,Acmp ah,0jl load_res2mov ah,Bcmp ah,0jl load_res2;mov RES2,0ffhjmp compload_res2:;A0 | B0mov RES2,ah comp: mov al,Acmp ah,aljl load_res1mov RES1,ahjmp ends_load_res1:;ahalmov RES1,al ends_: MOV AH,4CHINT 21HCODES ENDSEND START将 0FFH 存入 RES2将 AH 存入 RES1负数情况:A=2,B=0EFH将)EFH 存入 RES2将 02 存入 RES1: