主题:商专汇编考试题目及答案~想要答案的~顶本帖~希望高手也来帮帮忙
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个回复)
11 楼
忧郁小弟 [专家分:0] 发布于 2005-06-16 21:37:00
我是贵州商业高等专科学校的,你是那里的
12 楼
gqphj1984 [专家分:10] 发布于 2005-06-16 21:56:00
我是信息03-1班的~~~贵州商业高等专科学校~~彭洪剑~~
13 楼
gqphj1984 [专家分:10] 发布于 2005-06-17 06:12:00
怎么没高手来帮我写写啊~~?只要几道题就可以了~~~现在第三题和第九题~谢谢了~~
14 楼
忧郁小弟 [专家分:0] 发布于 2005-06-17 10:42:00
我只要14和17题
15 楼
gqphj1984 [专家分:10] 发布于 2005-06-17 11:45:00
第17题~
data segment
String1 db "string1$"
Match db "Match$"
NoMatch db "No Match$"
data ends
extra segment
String2 db "string1$"
extra ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov ax,extra
mov es,ax
;20
lea si,String1
lea di,String2
mov cx,7
d:
repz cmpsb
cmp cx,0
jz matchp
lea dx,nomatch
jmp print
matchp:
lea dx,match
print:
mov ah,09h
int 21h
mov ax,4c00h
int 21h
code ends
end start
第18题~
DATA SEGMENT
ARR1 DB 4,?,4 DUP(?)
Z DB 4 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET ARR1
MOV AH,10
INT 21H
MOV AL,BYTE PTR ARR1+2
AND AL,0FH
MOV BX,OFFSET Z
MOV [BX],AL
MOV AL,BYTE PTR ARR1+3
AND AL,0FH
INC BX
MOV [BX],AL
MOV AL,BYTE PTR ARR1+4
AND AL,0FH
INC BX
MOV [BX],AL
MOV AL,BYTE PTR ARR1+5
AND AL,0FH
INC BX
MOV [BX],AL
MOV AH,4CH
INT 21H
CODE ENDS
END START
第8题~
data segment
buf1 db
n db $-buf1
buf2 db
flag db 0
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
mov si,0
mov di,0
mov cx,n
more:cmp cx,0
jz exit
cmp buf1[si],buf2[di]
jz yes
jmp no
yes:inc si
inc di
dec cx
jmp more
no:mov flag,1
exit:mov ah,4ch
int 21h
code ends
end start
数据区自己填,想填几个就填几个
第2题~
data segment
buf dw 4567h,1234h,5678h
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov bx,0
mov ax,[bx]
cmp ax,[bx+2]
jl swap1
a:mov ax,[bx]
cmp ax,[bx+4]
jl swap2
b:mov ax,[bx+2]
cmp ax,[bx+4]
jl swap3
jmp c
swap1:mov cx,[bx]
mov dx,[bx+2]
mov [bx],dx
mov [bx+2],cx
jmp a
swap2:mov cx,[bx+4]
mov dx,[bx]
mov [bx+4],dx
mov [bx],cx
jmp b
swap3:mov cx,[bx+2]
mov dx,[bx+4]
mov [bx+2],dx
mov [bx+4],cx
c:mov ax,4c00h
int 21h
code ends
end start
第9题~
data segment
x dw 6
y db 0
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
mov ax,x
mov bx,ax
mov cx,16
one:dec cx
mov ax,bx
and ax,1
cmp ax,0
jz yes
two:cmp cx,0
jz exit
shr bx,1
jmp one
yes:inc y
jmp two
exit:mov ah,4ch
int 21h
code ends
end start
16 楼
gqphj1984 [专家分:10] 发布于 2005-06-17 11:47:00
觉得不错就帮忙顶哈~~~~相信会有高手进来帮你们做的~~~
17 楼
gqphj1984 [专家分:10] 发布于 2005-06-17 12:04:00
第二十题~
这个问题其实是比较简单的,以下是大写转换为小写的程序,你再改改就可以了,其实本质是一样的
DATA SEGMENT
MSG1 DB 'Input a uppercase letter:$'
MSG2 DB 0DH,0AH,'Lowercase letter is:'
RESULT DB ?
DB '$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA DX,MSG1
MOV AX,09H
INT 21H
MOV AH,1
INT 21H
CMP AL,'A'
JB EXIT
CMP AL,'Z'
JA EXIT
ADD AL,20H
MOV RESULT,AL
LEA DX,MSG2
MOV AH,09H
INT 21H
EXIT: MOV AH,4CH
INT 21H
CODE ENDS
END START
还需要改进~~才是第二十题的答案~~~
18 楼
shasha3100 [专家分:0] 发布于 2005-06-17 13:57:00
楼上的 我要第3题啊 请帮忙~~~~~~~~~~~~~~~~
19 楼
shasha3100 [专家分:0] 发布于 2005-06-17 14:20:00
楼上的行行好吧 请你们把第3题给我吧 小弟哭谢拉~~~~~~~~~~~~~~~~~~~~~~~
20 楼
majie770 [专家分:0] 发布于 2005-06-17 14:27:00
第十题 编写程序将数据区中字节变量X的每一位二进制数转换为ASCII码,并将转换后的ASCII码存入Y的变量之下。
谁会啊???帮忙啊!
我来回复