主题:商专汇编考试题目及答案~想要答案的~顶本帖~希望高手也来帮帮忙
gqphj1984 [专家分:10] 发布于 2005-06-17 14:44:00
题目:
一、编写单字节有符号数X和Y,求X平方及Y平方且将X平方及Y平方中的较大者送变量Z的程序。
二、数据区BUF中有三个双字节数,要求将这三个数(无符号数)按从大到小的次序重新存放在变量BUF中。
三、数据区有二个五字节无符号数D1和D2,相加后放入D3中,因考虑到相加后产生进位,D3定义为六字节数。
四、编写程序:在内存中已给出X、Y二个变量,求第三个变量Z=|X-Y|,并放入内存中。
五、将内存中变量BLKS中的5个连续字节反向传送至另一变量BLKD中。
六、编写程序求N!,要求:内存中先给出N等于几,程序运算结束后将结果也放入内存中。
七、编写一程序统计BUF字数据区中负数的个数。
八、编写一程序,用来判断BUF1和BUF2二个等长的数据区中的数据是否相同(10个数以内),相同则使变量FLAG单元置0,否则置1。
九、编写程序统计数据区中变量X下的一个字中0的个数,统计完成后将结果存入Y中。
十、编写程序将数据区中字节变量X的每一位二进制数转换为ASCII码,并将转换后的ASCII码存入Y的变量之下。
十一、编写一个程序完成自然数1----100的求和运算,结果放入内存变量Z中。
十二、将AX寄存器中的16位数分成4组,每组4位,然后把这四组数分别存入内存中变量X下的4个字节中。
十三、编写程序,求出首地址为DATA的10H字数组中最小偶数,并把它存放在变量Z中。
十四、编写统计内存字变量Z中的数据个数的程序,变量Z中数据的结束符为回车符。
十五、编写从键盘接收一个小写字母的程序,然后找出它的前导字符和后续字符分别放入内存变量X和Y中。
十六、编写一程序,将变量X下的2个字节小写字母的ASCII码数转换为大写字母在显示器上显示出来。
十七、编写比两个字符串‘STRING1’和‘STRING2’所含字符是否相同的程序,若相同则显示‘MATCH’,若不相同则显示‘NO MATCH’。
十八、编写一个程序,要求从键盘接收一个四位的十六进制数,将其转换为二进制数后存入内存变量Z中。
十九、设有一段英文,其字符变量名为ENG,并以字符串$字符结束,编一程序查对单词‘SUN’在该问中出现的次数,并在显示器上显示出来。
二十、编写程序,从键盘输入一个大写字符后存入内存变量Z中,然后将其转换为小写字母并输出在显示器上。
答案在后面会陆续发出~~商专的想要汇编答案请顶~~~本人在找未发出的题目的答案~
如果有高手看到~~帮帮忙~~把其他题目的答案写一下~~我在这里代表商专的考汇编的同人谢谢你们了~~~!
回复列表 (共69个回复)
61 楼
lwg561 [专家分:0] 发布于 2005-06-24 09:19:00
第十二题
data segment
x dw 41h,42h,43h,44h
y dw?
data ends
code segment
stack segment
dw 100(?)
stack ends
assume ds:data,cs:code,ss:stack
start:
push ds
mov ax,data
mov ds,ax
mov ch,4
rotate:mov cl,4
rol x,cl
mov al,cl
dec ch
jnz rotate
mov ax,4c00h
int 21h
code ends
end start
62 楼
gqphj1984 [专家分:10] 发布于 2005-06-24 12:25:00
五、将内存中变量BLKS中的5个连续字节反向传送至另一变量BLKD中。
十五、编写从键盘接收一个小写字母的程序,然后找出它的前导字符和后续字符分别放入内存变量X和Y中。
高手帮忙~~谢谢~~。
63 楼
心思飞 [专家分:710] 发布于 2005-06-25 16:36:00
第十五题
.model small
.386
.code
MAIN PROC FAR
start:
push ds
sub ax,ax
push ax
input:
mov ah,7H
int 21H
cmpe:
cmp al,20H
JE exit
cmp al,61H
JL input
cmp al,7AH
JG input
print:
sub al,01H
mov dl,al
mov ah,02H
int 21H
add al,01H
mov dl,al
mov ah,02H
int 21H
add al,01H
mov dl,al
mov ah,02H
int 21H
;输出换行回车
mov dl,0AH
mov ah,02H
int 21H
jmp input
exit :
ret
MAIN ENDP
END start
64 楼
心思飞 [专家分:710] 发布于 2005-06-25 16:40:00
第十七题:本人没有运行过,自己拿去试试啊!
.model small
.data
STRING1 DB 'I must study hard'
STRING2 DB 'I must study hard'
X DB 'MATCH .$'
Y DB 'NO MATCH.$'
.stack 100H
.code
main proc far
Start:
push dx
mov ax,0
push ax
mov ax,@data
mov ds,ax
mov es,ax
lea si,STRING1
lea di,STRING2
cld
mov cx,(string2-string1)/ type STRING2
ret
End start
65 楼
心思飞 [专家分:710] 发布于 2005-06-25 17:16:00
谁要答案去我那里找,没有的再告诉我,我有空的时候帮大家搞点!^_^
66 楼
心思飞 [专家分:710] 发布于 2005-06-25 17:29:00
十七题我的版面里面有,大家可以自己去找!
67 楼
xxkln [专家分:0] 发布于 2005-11-11 23:55:00
17题;此程序比较数据段和附加段的两串字符串string1和string2是否相等
;若相等,显示“string1 match string2”,否则显示“the two strings are nomatch”
; -----------定义数据段
DSEG SEGMENT 'DATA'
string1 db "welcome to my school." ;字符串一
match db " match !",13,10,'$'
nomatch db "no match!",13,10,'$'
quit db "press any key to exit......",13,10,'$'
DSEG ENDS
; -----------附加段
eseg segment
string2 db "welcome to my classroom." ;字符串二
eseg ends
;-----------定义代码段
CSEG SEGMENT 'CODE'
;*******************************************
START PROC FAR
assume cs:cseg,ds:dseg,es:eseg
;--------------保存返回DOS的地址
PUSH DS
MOV AX, 0
PUSH AX
;------------设置段寄存器
MOV AX, DSEG
MOV DS, AX
mov ax,eseg
MOV ES, AX
lea si,string1
lea di,string2
mov cx,15
cld
repe cmpsb
cmp cx,0
jz mat
;-----------两字符串不等
mov ah,9
lea dx,nomatch
int 21h
jmp waitforexit
;-----------两字符串相等
mat:
mov ah,9
lea dx,match
int 21h
;-----------按任意键退出
waitforexit:
mov ah,9
lea dx,quit
int 21h
mov ah,1
int 21h
;----------- 返回DOS
exit: RET
START ENDP
;*******************************************
CSEG ENDS
END START ; set entry point.
68 楼
hlhlg [专家分:0] 发布于 2007-10-30 21:32:00
12题答案是什么啊?
我来回复