魔兽争霸各族英雄歌曲:请各位解一下这道汇编题

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/25 17:41:49
从键盘读入一个小写字母输出字母表中倒数与该字母序号相同的哪个字母,例如输入首字母a则输出最后一个字母z输入第4个字母d则输出地4个字母w

这个是对的:

DATA SEGMENT
Z DB 'Please input letter: $'
X DB ' : $'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA DX,Z
MOV AH,09H
INT 21H
MOV AH,01H ;输入小写字母
INT 21H
MOV BL,AL
MOV DL,0DH ;换行
MOV AH,02H
INT 21H
MOV DL,0AH
MOV AH,02H
INT 21H
LEA DX,X
MOV AH,09H
INT 21H
MOV CX,0
MOV CL,0DBH
SUB CL,BL
MOV DL,CL
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START

这是Pascal语言的写法:
var
let:array['a'..'z'] of integer;
i,j:integer;
ch:char;
begin
i:=1;
for ch:='a' to 'z' do begin let[ch]:=i; inc(i); end;
read(ch);
j:=i-let[ch];
for ch:='a' to 'z' do
if let[ch]=j then begin writeln(ch); break; end;
end.