试题要求如下: 请编制程序,其功能是:内存中连续放着20个ASCII字符,如果是小写字母A~Z之间的字符,
试题要求如下:
请编制程序,其功能是:内存中连续放着20个ASCII字符,如果是小写字母A~Z之间的字符,请把它们转换成相应的小写字母:若为其他字符,均转换成ASCII字符'NUL' (00H)。
例如:
内存中有:41H ('A'),42H ('B'),5EH,64H,48H……
结果为: 61H ('a'),62H ('b'),00H('NUL'),00H('NUL'),00H('NUL')……
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算的结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。在BEGIN和AND之间编程完成要求的功能。
对程序进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果。
试题程序:
EXTRN LOAD: FAR, SAVE: FAR
N EQU 20
STAC SEGMENT STACK
DB 128 DUP (? )
STAC ENDS
DATA SEGMENT
SOURCE DB N DUP(?)
RESULT DB N DUP(0FH)
NAME0 DB 'INPUT1.DAT', 0
NAME1 DB 'OUTPUT1.DAT', 0
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA, SS: STAC
START PROC FAR
PUSH DS
XOR AX, AX
PUSH AX
MOV AX, DATA
MOV DS, AX
LEA DX, SOURCE ; 数据区起始地址
LEA SI, NAME0 ; 原始数据文件名
MOV CX, N ; 字节数
CALL LOAD ; 从'INPUT1.DAT'中读取数据
LEA SI, SOURCE
LEA DI, RESULT
; **** BEGIN ****
; **** END ****
LEA DX, RESULT ; 结果数据区首址
LEA SI, NAME1 ; 结果文件名
MOV CX, L+I ; 结果字节数
CALL SAVE ; 保存结果到文件
RET
START ENDP
CODE ENDS
END START
MOV CX, N NEXT: MOV AL, [SI] CMP AL, 'A' JB PRO CMP AL, 'Z' JA PRO XOR AL, 20H JMP PSH PRO: MOV AL, 00H PSH: MOV [DI], AL INC DI INC SI LOOP NEXT 解析:本程序要求将A~Z之间的字母转换成相对应的小写字母。DI中存放着的是转换后的偏移地址,每次加1;AL的作用是相当于一个指针,每次SOURCE与它相加;CX是一个循环计数器,每次减1。
以“与你同行”为题!写一篇850字的议论文!注意!要议论文!要以那种名人的实例举例来写的!如题!回 语文 2020-05-17 …
d(y)/d(x)=a d[d(y)/d(x)]/d(x)=d(a)/dy*[dy/dx]=a`* 数学 2020-05-17 …
请问琼瑶作品《梅花烙》有英文名吗?如果有,怎么写呢?如题.写英语作文用,感觉翻译成Meihuala 其他 2020-06-26 …
晚清福州文人郭柏苍在《沁泉山馆诗》中写道:“年来通商号令行,穷黎遍享茶山利...此题为什么选A?如 历史 2020-06-28 …
晚清福州文人郭柏苍在《沁泉山馆诗》中写道:“年来通商号令行,穷黎遍享茶山利...此题为什么选A?如 历史 2020-06-28 …
以"网"为话题写一篇800字以上的作文,该怎么写呢?如题.大家帮忙想想有哪些事情或者例子可以写?该 其他 2020-07-13 …
有人知道美国w-4表如何填写么?如题,想请问EntertotalnumberofAllowance 其他 2020-07-25 …
申论写作申论:了解到文章论点型标题是主题加角度,如果写策论文就是要从标题的角度写么?如题目以推行医 语文 2020-08-01 …
word文字如何对换(不是替换).例如,文章中有附件一和附件二这3个文字,但是我在做表时把这一和二写 其他 2020-11-23 …
内个如果说它收走了你什么,又返还了你它收走的东西,可以用慷慨一词描写么?如题.我在写作文,名字叫岁月 语文 2020-12-26 …