汇编语言试题求解(速求)

选择题1表示程序将要执行的指令地址的寄存器为()。A.DS、BXB.SS、SPC.CS、IP2.指令指针寄存器是()。A.IPB.SPC.BPD.PSW3.完成将累加器A... 选择题
1表示程序将要执行的指令地址的寄存器为( )。
A. DS 、BX B. SS、SP C. CS、IP
2. 指令指针寄存器是( )。
A. IP B. SP C. BP D. PSW
3.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是( )。
A. MOV AL,00H B. AND AL,00H C. XOR AL,AL D. SUB AL,AL
4. 下面的数据传送指令中,错误的操作是( )。
A. MOV BX,1000H B. MOV DX,AX
C. MOV WORD PTR[BX],1000H D. MOV DS,2000H
5. 完成同指令XCHG AX,BX相同功能的指令或指令序列是( )。
A. MOV AX,BX B. MOV BX,AX
C. PUSH AX D. MOV CX,AX
POP BX MOV AX,BX
MOV BX,CX
6. 执行下列指令后,正确的结果是( )。
MOV AL,100
MOV BL,2
A. AL=100H BL=02H B. AL=64H BL=02H
C. AL=64H BL=82H D. AL=100H BL=0FEH
7. 设数据段中已有:
DA1 DB 12H,34H
DA2 DW 56H,78H
下面有语法错误的语句是( )。
A. MOV DA2,AX B. MOV DA1+1,AX
C. MOV BYTE PTR DA2+1,AL D. MOV WORD PTR DA1+1,AX
8.下面所列通用数据传送指令的几种中错误的传送方式是( )。
A. 从累加器到存储器 B. 立即数到寄存器
C. 从寄存器到存储器 D. 从存储器到存储器
9. 为了使执行串操作指令时,按减量方式处理,应使用的指令是( )。
A. STD B. STI C. CLD D. CLI
10. 在下列段寄存器中,代码段寄存器是( )。
A. ES B. CS C. DS D. SS
程序分析题
1. 下列程序段执行后,AX寄存器中的内容是:
MOV CL,7
MOV AX,8D16H
SHR AX, CL

2. 试分析下列程序段执行完后,A1单元的内容是:
DATA SEGMENT
A1 DW 0
A2 DW 0
A3 DW 230,20,54
DATA ENDS
CODE SEGMENT
……
MOV BX, OFFSET A3
MOV AX, [BX]
MOV A2, AX
MOV AX,2[BX]
ADD AX,A2
MOV A1,AX
……
CODE ENDS
简答题
1. 简述在计算机上运行汇编语言程序的主要步骤。
2. 简述伪操作和机器指令的区别。
3. 软件系统由哪两大类软件构成?
4. 试写出调用程序和子程序之间的信息传送方式。(至少4种)
程序设计题
1. 请用子程序结构编写如下程序:累加数组ARRAY中的所有元素,并把和(不考虑溢出的可能性)送到TOTAL单元中去。数据段定义如下:
data segment
array dw 100dup(?)
count dw 100
total dw ?
data ends
2编写一个汇编语言源程序,要求统计字变量X中1的个数,并记入NUMBER1字变量中。

AH 功能 返回参数或调用参数
1 从键盘输入一个字符并回显在屏幕上 AL=字符
2 显示一个字符 DL=字符
A~Z的ASCII码:41H~5AH a~z的ASCII码:61H~7AH
3编写一个汇编语言程序段,要求对键盘输入的小写字母用大写字母显示出来。
4编写一个汇编语言源程序,要求统计字变量X中1的个数,并记入NUMBER1字变量中。
展开
 我来答
Ron2018
2010-06-21 · TA获得超过3285个赞
知道小有建树答主
回答量:338
采纳率:0%
帮助的人:499万
展开全部
选择题
1.C
2.A
3.A
4.D
5.D
6.B
7.D
8.D
9.A
10.B

程序分析题
1.(AX)=011AH

2.A1 = 250

简答题
1. 第一步:使用edit命令,编写程序源文件,得到asm文件
第二步:使用masm命令,编译,生成obj文件
第三部:使用link命令,链接,生成exe文件
第四步:使用debug命令,调试可执行程序。或者直接运行可执行程序

2. 伪操作在编译器中执行,起到规划程序结构的功能,最后不会变成机器语言
汇编指令最后会变成对应的机器语言,在运行可执行程序时才被执行

3. 软件系统 = 系统软件 + 应用软件

4. 通过寄存器传送
通过数据段中的变量传送
通过数据段中的数组
通过堆栈段传送

程序设计题
1.
data segment
array dw 100 dup(?)
count dw 100
total dw ?
data ends

STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATA,SS:STACKS
START:
MOV AX,DATA
MOV DS,AX
;此处输入代码段代码

LEA SI,ARRAY ;数组首地址
MOV CX,COUNT ;数组长度
CLD
XOR BX,BX ;计算结果,初值为0
L1:
LODSW
ADD BX,AX
LOOP L1

MOV TOTAL,BX

MOV AH,4CH
INT 21H
CODES ENDS
END START

2.
data segment
X DW 8888H
NUMBER1 DW 0 ;记录1的个数,初值=0
data ends

STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATA,SS:STACKS
START:
MOV AX,DATA
MOV DS,AX
;此处输入代码段代码
MOV CX,16
MOV AX,X
L1:
ROL AX,1

JNC L2 ;如果最高位为0,跳过记录增加的操作

INC NUMBER1 ;记录增加
L2:
LOOP L1

MOV AH,4CH
INT 21H

CODES ENDS
END START

3.
data segment
CHARS DB 100 DUP(?) ;最多接收100个字符
data ends

STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATA,SS:STACKS
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
LEA DI,CHARS
CLD
XOR CX,CX ;记录字符串长度

;输入字符并显示
MOV AH,1
L1:
INT 21H

;如果是回车则结束输入
CMP AL,0DH
JE L2

STOSB
INC CX ;记录增加

JMP SHORT L1

L2:
;输出回车换行
MOV AH,2
MOV DL,0DH
INT 21H
MOV DL,0AH
INT 21H

LEA SI,CHARS
CLD
MOV AH,2
L3:
LODSB ;取出字符

;比较是否小写字母
CMP AL,'a'
JB L4
CMP AL,'z'
JA L4

SUB AL,20H

L4: ;输出字符
MOV DL,AL
INT 21H
LOOP L3

MOV AH,4CH
INT 21H

CODES ENDS
END START
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式