百度
360搜索
搜狗搜索

汇编语言程序设计思考题,汇编语言程序设计提问详细介绍

本文目录一览: 几个汇编语言的思考题,谁会,告诉我啦

1. 将一个五位十进制数转换为二进制数(十六位)时,这个十进制数最小可为多少,最大可为多少?为什么?
无符号数10000-65535,小于10000,就不是五位,高于65535,超出十六位二进制能表示的范围
2. 将一个十六位二进制数转换为ASCII码十进制数时,如何确定Di的值?
使用除法指令除10,取余,可依次得到十进制从个位到更高位的数值,转换为ASCII码,直到被除数为零为止
3. 在十六进制转换为ASCII码时,存转换结果后,为什么要把DX向右移四次?
细节性的问题脱离环境讨论,没有意义,请帖源码
4. 自编ASCII码转换十六进制、十六进制小数转换二进制、二进制转换BCD码的程序
谁会解答,快告诉我,急用啊,先谢谢啦~全部分数送上,
不会就剩下10分了吧!^_^

《汇编语言程序设计》复习题答案求救,分析题!高分,谢谢!

41答案如下:
SI是源地址寄存器,DI是目的地址寄存器,就是以源地址寄存器[SI]开始的64H个字节里面的内容,复制到以[DI]为始址的空间中去。CX是计数器嘛,就是复制64H个字节的内容,MOVSB就是MOV 以 B为单位!
42答案如下:
DATA SEGMENT
A DW 0
B DW 0
C DW 15H,5H,50H
DATA ENDS
CODE SEGMENT
.
.
MOV BX,OFFSET C
MOV AX,[BX] ;这一步后,AX=[BX]=15H
MOV B,AX ;B=15H
MOV AX,2[BX] ;2[BX]的意思是[BX+2],所以AX=05H
ADD AX,B ;15H+05H=1AH
MOV A,AX ;最后是1AH
六.程序填空
第一空 0FH
第二空 4AH.
这一题的基本思想就是把 BX 循环右移四位,取BL,赋给AL,与上0FH,把高四位清零,得低四位,再加上30H,判断是否超过A,因为A的ASCLL与0-9的ASCLL码不是连续的,所以要根据判断结果再加上07H,就这样了。
我原是汇编科代表呢!!哈哈
1,就是把DS:[SI]的一百个字节单元的内容传送到ES:[DI]开始的一百个字节单元中。
2,A=001AH
3,
---------------------------
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE
START:
PUSH DS
SUB AX,AX
MOV CH,4
ROTATE:
MOV CL,4
ROL BX,CL
MOV AL,BL
AND AL,0FH
ADD AL,30H
CMP AL,3AH
JL PRINTIT
ADD AL,7H
PRINTIT:
MOV DL,AL
MOV AH,2
INT 21H
DEC CH
JNZ ROTATE
POP DS
RET
MAIN ENDP
CODE ENDS
END START
我不懂。。。。。
不过你真的。。。。
MOV CX,64H
LEA SI,NAME1
LEA DI,NAME2
REP MOVSB


这段程序完成不就是重复执行将name1内存里面的内容放入name2中去呀,重复执行cx中指定的100次
下面的题目全是汇编语言相关的,你只要复习下课本,就可以做到了,题目不难

高手请进,问汇编语言程序设计问题

分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:

31. MOV DL,AL
NOT DL
TEST DL,04H
JE NEXT


NEXT:…
若上述程序段执行时产生分支,说明AL中的数第几位一定为1?程序段执行后CF是多少?
32.DA1 DB‘ABCDEFGHI’
DA2 DB 9 DUP(0)

LEA SI,DA1
LEA DI,DA2
MOV CX,9
CLD
LOP: LODSB
SUB AL,10H
STOSB
LOOP LOP
. . .
试问:①写出程序执行后DA2各字节中的数据。
②保持程序功能情况下,程序中 可否改写为
33.已知:BX=4567H
NEG BX
INC BX
NEG BX
DEC BX
程序段执行后,BX=________,CF=________。
34. MOV BL,64H
MOV CL,03H
XOR AX,AX
AGAIN:ADD AL,BL
ADC AH,0
DEC CL
JNZ AGAIN
问:(1)该程序段完成的功能是:
(2)AX=________。
35.已知数据段中定义
DAT1 DB 12H,34H,56H,78H
MOV CX,0
MOV AX,WORD PTR DAT1
MOV CL,DAT1+3
当程序段执行完后AX=________,CX=________。
36.DA1 DB 83H,72H,61H,94H,5AH

MOV CX,WORD PTR DA1
AND CX,0FH
MOV AL,DA1+3
SHL AL,CL
上述指令序列执行后,AL=_______,CL=_______。
解析:

31.从第0位开始数的第2位一定为1;CF=0
32.
①"***********"
②保持程序功能情况下,程序中 可否改写为 ——什么呀,题目都不完整
33.BX=4564H,CF=1
34.
(1)100+100+100
(2)AX=012CH
35.AX=3412H,CX=0078H
36.AL=0A0H,CL=3

汇编语言程序设计习题

1.写出下列程序段执行的结果,(AL)=? (DL)=?
并指出此程序段完成的是什么功能?
MOV CL, 4
MOV AL, 87d=57H
MOV DL, AL
AND AL, 0FH
OR AL, 30H
SHR DL, CL
OR DL, 30H
(AL)=37H (DL)=35H
程序段完成功能是:把AL中的16进制数高位送DL,移位取出低位,
再分别转化为对应的ASCII码.
2.假定DS=2100H,BX=0100H,SI=0002H;
[21100H]=12H,[21101H]=34H,[21102H]=56H,[21103H]=78H。
2100:100H=12H,34H,56H,78H
分析下列指令执行后寄存器的内容。
(1) MOV AX,[101H] ;ax=5634H
(2) MOV AX,[BX+2] ;ax=[0102H]=7856H
(3) MOV AL,[BX][SI+1] ;al=[0103H]=78H
(4) MOV AX,100H[SI] ;ax=[0102H]=7856H
3.识别下列指令正确与否,对错误指令,说明出错的原因。
(1) MOV DS,100 × ;数据段不允许用立即数赋值
(2) MOV [1000H],23H ×;立即数送入内存需指明是字还是字节
(3) MOV [1000H],[2000H] ×;源和目标不能同为内存数
(4) MOV DATA,1133H ? ;如用DATA定义过数据段,DATA就不能再用作变量名
(5) MOV 1020H,DX ×;目标不能是立即数
(6) MOV AX,[0100H+BX+BP] ×;寻址时,BX、BP只能用一个
(7) MOV CS,AX ×;CS不能直接赋值
(8) PUSH AL ×;堆栈不能压入字节,只能压入字(32位压入双字)
(9) PUSH WORD PTR[SI] √
(10) IN AL,378H ×;端口寻址大于0FFH,端口号源要放入DX
(11) OUT 80H,AX √
(12) MOV CX,[AX+SI]×;AX不能用于内存寻址

阅读更多 >>>  数据导入整合方案是什么

汇编语言程序设计提问

1.ax和bl类型(长度)不同
2.cs不能作为目的操作数
3. inc的操作数应是一个寄存器或内存单元,执行结果是将其内容加1
4.不能直接把立即数传送到段寄存器中,可以改为 mov ax,2000H mov dx,ax
5.add的源操作数不能是段寄存器,只能是通用寄存器、立即数或存储器
6.寄存器间接寻址的寄存器只能使用BX、BP(基址) 和SI、 DI(变址),即不能不能把cx的内容作为偏移量来寻址
7.基址只能存放在BX或BP中,[DX+SI]错误地把DX 用于存放基址
8.mov指令不能在两个内存单元之间传送数据
9.在8086/8088系统中,当移位次数大于1时,一定要先将移位次数存放到CL(不能是其他寄存器)中,即应改为: MOV CL,2 SHR AX,CL (但在80286以上的系统中这种限制已取消)
10.目的操作数和源操作数类型不同,即系统不能区分05H 还是0005H

汇编语言相关问题

不保证全对。
3 ax bx cx dx
4 4200h
5 顺序结构 分支结构 循环结构
7 d
8 a
9 c
10 d
11 a
12 b
13 把汇编语言源程序翻译成目标程序
14 立即寻址 寄存器寻址 直接寻址 寄存器间接寻址 寄存器相对寻址 基址加变址寻址 相对基址加变址寻址
15 数据传送 算术运算 逻辑运算 串操作 程序控制 处理器控制
16 用于告诉汇编程序如何进行汇编的指令
17 1、 分析问题,抽象出描述问题的数据模型 2、 确定问题的算法思想 3、 画出流程图或结构图 4、 分配存储器和工作单元(寄存器) 5、 逐条编写程序 6、 静态检查,上机调试
18 初始化部分 循环体部分 调整部分 控制部分
19 in al,21h
mov dx,1200h
out dx,al
20 mov ax,12h
mov bx,34h
mov cl,8
shl ax,cl
or ax,bx
21 CODES SEGMENT
ASSUME CS:CODES
START:
mov bx,1010101010101010b
mov cx,4
s1:
mov bp,4
xchg cx,bp
rol bx,cl
xchg cx,bp
mov ax,bx
and ax,0fh
cmp ax,10
jb s2
add ax,7
s2:
add ax,30h
mov dx,ax
mov ah,2
int 21h
loop s1

MOV AH,4CH
INT 21H
CODES ENDS
END START
编程语言汇编语言3、在8086/8088CPU寄存器组中,数据寄存器主要是指( AX )、( BX )、( CX )、( DX )。4、假设(DS)=3000H,(SI)=0040H,(30054H)=4336H,则指令 SUB [SI+14H],0136H 执行后,(30054H)=( 4200H )。5、结构化程序设计时,采用的基本结构有(顺序)、(分支)、(循环)。7、设机器的字长是16,-3的补码和-129的补码分别为(FFFDH、FF7FH)。8、8086/8088CPU对存储器地址采用分段管理方法,每段大小可达(64K)字节。9、下面( )指令是错误的。A、CMP 15,BX10、DATA DW ‘1234’占用了( )个字节。--这是非法指令11、汇编过程会把asm的汇编源程序汇编成( OBJ )格式的文件。12、已知SP=2110H,执行POP AX后,SP寄存器的值是( 2112H )。13、汇编程序的主要功能是什么?把用助记符写的汇编语言指令,转换成 CPU 能够识别的机器码。14、8086/8088CPU有哪些基本寻址方式?立即、直接、寄存器、寄存器间接、寄存器相对 基址加变址、基址加变址相对。15、8086/8088CPU主要有哪几类指令?不同教材有不同的说法。一般是:传送、算术运算、位操作(即逻辑运算)、串操作、控制转移、处理器控制。16、简述伪指令的作用。伪指令用于控制汇编程序,指示它如何进行汇编。17、汇编语言程序设计的一般步骤是什么?根据要求,确定算法;根据算法,编写程序;编译、连接、运行;排错,修改;最后,完成。18、简述循环程序的组成部分。已知循环次数:初始化次数计数器;循环体;次数减一,次数判断,不为零就跳转去再次执行循环体。--------已知结束条件:循环体;判断退出循环的条件,不满足就跳转去再次执行循环体。19、编写一个程序段实现通过端口21H采集一个8位数据,并且把该数据传送给端口1200H。IN AL, 21HMOV DX, 1200HOUT DX, ALEND20、如(AX)=0012H,(BX)=0034H,试编写程序段把它们装配在一起形成(AX)=1234H。MOV AH, ALMOV AL, BLEND21、试编制一个程序把BX寄存器内的二进制数用十六进制数的形式在屏幕上显示出来。OUT_HEX PROC MOV CX, 0404HB1: ROL BX, CL MOV DL, BL AND DL, 0FH CMP DL, 0AH JB B2 ADD DL, 07HB2: ADD DL, 30H MOV AH, 2 INT 21H ;显示到屏幕 DEC CH JNZ B1 ;处理4次 RETOUT_HEX ENDP

汇编语言的一些程序设计题,谁能举例解答一下

你的问题问的不对,寄存机 AX BX CX DX就是具体的数据,你可以把这些当成变量使用
a,b,c,d在程序中是分配的内存空间,和寄存器存在着本质上的区别,所以这些题目使用的数据就是:AX,BX,CX,DX这些寄存器数据
1、交换可以用堆栈进行,
AX。BX相互交换内容
PUSH AX
PUSH BX
POP AX
POP BX
这样AX和BX内容就交换了
2、
为了方便你理解,写一些不正确的表达式吧
MOV AX,0 相当于 int a=0;
XOR AX,AX XOR这个指令,如果后面两个数相同,则为0,并将0存放到第一个寄存器AX中
SUB AX,AX 相当于 int a=1; a=a-a; 所以结果也是0
AND AX,0 AND指令,将后面两个数据按位‘与’操作,只要有一个数为0,结果就为0,所以AX的结果就是0了。
第三题看不懂什么意思,想问什么东西?
4、
内存复制的代码:
mov si,offset setscreen;原数据偏移地址
mov di,0 ;目标偏移地址
mov cx,offset setscreen_end-offset setscreen ;计算出数据长度
cld ;di,si每次执行movsb的时候都递增1
rep movsb ;开始复制
清零:
如果数据段有一块内存需要清零
mov cx,100; // 数据段长度
mov si,0; // 开始地址
mov al,0;
_start:
mov byte ptr ds:[si],al;
dec cx;
inc si; // 指向下一个字节
cmp cx,0;
jnz _start; // 如果cx不为0事继续清空下一个内存
百度【幽灵代码论坛】加入我们一起学习

阅读更多 >>>  二进制代码是什么意思

(汇编语言程序设计〉半期试题请求解答

2012年〈汇编语言程序设计〉半期试题(堂下开卷)

一.名词解释(本大题共5小题,每小题3分,共15分)试解释下列名词的含义。
1. 逻辑地址:在CPU内部的存储单元地址表示形式,分为段基值和偏移量两个组成部分,
它们都是16位的,在指令或源程序中只能使用逻辑地址来表达存储单元。
2. 物理地址:CPU访问存储单元时向地址总线传送的地址表示形式,是20位的地址,由
逻辑地址中段基值乘以16再加上偏移量得到,逻辑地址到物理地址的转换由CPU在执行访问存储单元的指令时自动完成。
3. 标志寄存器:在CPU中由状态标志位与控制标志位组成的寄存器称为标志寄存器,其
中状态标志位用于标识运算指令执行后运算结果的特征,控制标志位用于控制CPU的工作模式或改变CPU对某些事件的响应方式。
4. 存储器寻址方式:即获得存储单元地址的方式,在8086/8088CPU中包括直接寻址、寄
存器间接寻址、基址寻址、变址寻址、基址变址寻址这五种寻址方式。
5. 补码:CPU内部用于表示带符号数的一种编码,正数的补码为真值本身,负数的补码为
真值变反加1的结果。
二.计算题(本大题共5小题,每小题4分,共20分)试按照各小题的要求给出计算结果。
1. 将十进制数100分别转换为二进制、十六进制数,它们的表示形式分别为多少? 答:100的十六进制表示为64H,二进制表示为01100100B。 2. 假设(DS)=0B00H,(BX)=0210H,对于指令MOV DS:120H[BX],AL,其目的
操作数的物理地址为多少?
答:EA=(BX)+120H = 0210H+0120H = 0330H,物理地址 = (DS)*16+EA = 0B000H+0330H=0B330H。 3. 假设(BX)=0210H,(DI)=0060H,对于指令ADD DL,[BX][DI],其源操作数的偏
移量为多少?
答:源操作数EA = (BX)+(DI)= 0210H+0060H =0270H。 4. 假设当前(SP)=0060H,连续执行5条PUSH指令后,(SP)=? 答:(SP)=0060H – 5*2 = 0060H – 000AH = 0056H
5. 对于一个十进制数 – 65,其二进制补码表示形式为多少?
答:先将数值转换为二进制表示: - 65 = - 41H = - 01000001B ,由于是负数,变反加1得到补码形式:10111110B +00000001B = 10111111B
三.排错题(本大题共4小题,每小题5分,共20分)每小题列出了一条指令,判断该指
令有无语法错误,如果存在语法错误,请指出具体的错误原因,判断正确给2分,分析正确给3分,判断错误不给分。
1. PUSH 5588H
答:错误,单操作数指令不能使用立即数寻址方式。 2. MOV DS, 1720H
答:错误,MOV指令不能将立即数直接传送至段寄存器,需要通用寄存器作为中转。 3. ADD AX, CL
答:错误,两个操作数的类型不匹配,AX为16位,CL为8位。 4. AND AX,[DX]
答:错误,DX寄存器不能用作存储器寻址方式中的基址或变址分量。
四.程序分析题(本大题共6小题,每小题5分,共30分)每小题列出了一段小的程序片
段和相关存储单元的初始值,请按题目的要求分析各程序片段的运行结果。(寄存器中的内容请使用十六进制形式给出)
1. 阅读如下程序片段
MOV AL,4CH MOV BL,0B5H ADD AL,BL
执行上述程序片段后,(AL)= 01H (1分),(BL)= 0B5H (1分), CF= 1 (1分),OF= 0 (1分),PF= 0 (1分)
2. 阅读如下程序片段
MOV AL,0F3H MOV DL,0C4H ADD AL,DL AND AL,0FH
执行上述程序片段后,(AL)= 07H (1分),(AF)= 不确定 (1分), CF= 0 (1分),OF= 0 (1分),PF= 0 (1分)
3. 阅读如下程序片段
MOV AL,7EH MOV CL,04H ROL AL,CL
执行上述程序片段后,(AL)= 0E7H (2分),(CL)= 04H (1分), CF= 1 (1分),OF= 不确定 (1分)
4. 阅读如下程序片段
MOV AX,0632H MOV BX,0C202H SUB AX,BX INC AX
执行上述程序片段后,(AX)= 4431H (2分),(CF)= 1 (2分), OF= 0 (1分)
5. 阅读如下程序片段,假设(DS)=0100H,字节单元(01024H)=56H,字节单元(01025H)
=28H
MOV BX,0024H LEA BX,[BX] OR BX,0 ADC BX,[BX]
执行上述程序片段后,(BX)= 287AH (3分),(CF)= 0 (2分), OF= 0 (1分)
6. 阅读如下程序片段,假设(SP)=0064H
MOV AX,0001H MOV BX,0002H PUSH AX PUSH BX POP CX POP BX
执行上述程序片段后,(AX)= 0001H (2分),(BX)= 0001H (2分), (SP)= 0064H (1分)
五.程序设计题(本大题共2小题,第一小题7分,第二小题8分,共15分)
1. 试编写一程序片段,实现BL高4位与低4位相互交换(7分) 答:
mov cl, 4 rol bl, cl
2. 试编写一程序片段,不使用乘除法指令,实现((AX)*5+14)/ 2的功能(AX中的数
据理解为补码)(8分) 答:
mov bx, ax mov cl, 2 sal ax, cl add ax, bx add ax, 14 sar ax, 1

.汇编语言程序设计考题,求高手解答

一、判断题(5道小题,共15分)
1、MASM汇编语言的注释用分号开始,无所谓英文分号、还是中文分号。(3分)
错误
2、按照MASM语法编程时,可以将SHL作为8086指令的标号。(3分)
错误
3、指令“mov ax,ds:[100h]”中,若DS=1400H,则源操作数来自主存物理地址1500H。(3分)
错误
4、汇编结束END语句表明程序执行到此结束。(3分)
错误
5、指令的操作数使用存储器寻址方式,说明操作数保存在主存储器中。(3分)
正确
二、单项选择题(5道小题,共15分)
1、某个8086存储单元的逻辑地址为A400H:2400H,其物理地址是__B、A6400H__。(3分)
A、D7000H B、A6400H
C、3D400H D、0A640H
2、在8086处理器中,用来指示当前堆栈顶部的寄存器是__A、SP__。(3分)
A、SP B、IP
C、BP D、SS
3、已知字变量BUFFER内容等于1234H,保存于主存数据段偏移地址为5678H位置,
执行指令“MOV AX, BUFFER”后,AX=__C、3412H__。(3分)
A、7856H B、5678H
C、3412H D、1234H
4、汇编语言程序定义符号常量max等于100,正确的表达是__A、max = 100__。(3分)
A、max = 100 B、max db 100
C、max dw 100 D、max org 100
5、堆栈的操作原则可以描述为__B、后进后出__。(3分)
A、先进先出 B、后进后出
C、先进后出 D、循环

阅读更多 >>>  字符串转化为数字,vue字符串转化为数字

网站数据信息

"汇编语言程序设计思考题,汇编语言程序设计提问"浏览人数已经达到21次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:汇编语言程序设计思考题,汇编语言程序设计提问的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!