汇编语言-在线第5周2

合集下载

第5章中央处理器习题

第5章中央处理器习题

1.【2010年计算机真题】下列寄存器中,汇编语言程序员可见的是( B )。

A.储器地址寄存器(MAR)B.程序计数器(PC)C.存储区数据寄存器(MDR)D.指令寄存器(IR)汇编语言程序员可以通过指定待执行指令的地址来设置PC的值,而IR、MAR、MDR是CPU的内部工作寄存器,对程序员不可见。

2.条件转移指令执行时所依据的条件来自( B )。

A.指令寄存器 B.标志寄存器C.程厣计数器 D.地址寄存器指令寄存器用于存放当前正在执行的指令:程序计数器用于指示欲执行指令的地址;地址寄存器用于暂存指令或数据的地址;程序状态字寄存器用于保存系统的运行状态。

条件转移指令执行时,需对程序状态字寄存器的内容进行测试,判断是否满足转移条件。

3.在CPU的寄存器中,( C )对用户是透明的。

A.程序计数器 B.状态寄存器C.指令寄存器 D.通用寄存器指令寄存器中存放当前执行的指令,不需要用户的任何干预,所以对用户是透明的4.程序计数器(PC)属于( B )。

A.运算器 B.控制器C.存储器 D. ALU控制器是计算机中处理指令的部件,包含程序计数器。

5. CPU中的通用寄存器,( B )。

A.只能存放数据,不能存放地址B.可以存放数据和地址C.既不能存放数据,也不能存放地址D.可以存放数据和地址,还可以替代指令寄存器通用寄存器供用户自由编程,可以存放数据和地址。

而指令寄存器是专门用于存放指令的寄存器,是专用的,不能由通用寄存器代替。

6.指令周期是指( C )。

A. CPU从主存取出一条指令的时间B.CPU执行一条指令的时间C. CPU从主存取出一条指令加上执行这条指令的时间D.时钟周期时间指令周期包括取指和执行的时间。

7.以下叙述中错误的是( B )。

A.指令周期的第一个操作是取指令B.为了进行取指操作,控制器需要得到相应的指令C.取指操作是控制器自动进行的D.指令执行时有些操作是相同或相似的取指操作是自动进行的,控制器不需要得到相应的指令8.以下叙述中,错误的是( B )。

第5章习题解答

第5章习题解答

第五章可编程序控制器及其工作原理5-1 可编程序控制器具有哪些特点?答:可编程序控制器特点:1)抗干扰能力强,可靠性高;2)控制系统结构简单、通用性强、应用灵活;3)编程方便,易于使用;4)功能完善,扩展能力强;5)PLC控制系统设计、安装、调试方便;6) 维修方便,维修工作量小;7) 体积小、重量轻,易于实现机电一体化。

5-2 整体式PLC、组合式PLC由哪几部分组成?各有何特点?答:整体式结构的PLC是将中央处理单元(CPU)、存储器、输入单元、输出单元、电源、通信端口、I∕O扩展端口等组装在一个箱体内构成主机。

另外还有独立的I/O扩展单元等通过扩展电缆与主机上的扩展端口相连,以构成PLC不同配置与主机配合使用。

整体式结构的PLC结构紧凑、体积小、成本低、安装方便。

小型机常采用这种结构。

组合式结构的PLC是将CPU、输入单元、输出单元、电源单元、智能I∕O单元、通信单元等分别做成相应的电路板或模块,各模块可以插在带有总线的底板上。

装有CPU的模块称为CPU模块,其他称为扩展模块。

组合式的特点是配置灵活,输入接点、输出接点的数量可以自由选择,各种功能模块可以依需要灵活配置。

5-3 PLC控制与继电器控制比较,有何相同之处?有何不同之处?答:PLC控制与继电器控制的比较见下表:5-4 PLC的硬件指的是哪些部件?它们的作用是什么?答:PLC的基本结构由中央处理器(CPU),存储器,输入、输出接口,电源,扩展接口,通信接口,编程工具,智能I/O接口,智能单元等组成。

1)中央处理器(CPU)中央处理器(CPU)其主要作用有①接收并存储从编程器输入的用户程序和数据。

②诊断PLC内部电路的工作故障和编程中的语法错误。

③用扫描的方式通过I∕O部件接收现场的状态或数据,并存入输入映像存储器或数据存储器中。

④PLC进入运行状态后,从存储器逐条读取用户指令,解释并按指令规定的任务进行数据传送、逻辑或算术运算等;根据运算结果,更新有关标志位的状态和输出映像存储器的内容,再经输出部件实现输出控制、制表打印或数据通信等功能。

微机原理 第5章 处理器总线时序和系统总线

微机原理 第5章 处理器总线时序和系统总线
存器、IP、DS、SS、ES寄存器及指令队列进行
清零操作,而将CS设置为0FFFFH。
⑨ CLK 时钟信号(输入) 8086的标准时钟频率为8MHZ。
第5章 功能相同的32个引脚的含义(续)
⑩ VCC 电源引脚,8086CPU采用单一的+5V电源
11
GND 接地引脚,有两个。 MN/MX 最小/最大组态控制(输入)
两种组态下,名称和功能相同的32个引脚的含义 同一引脚在不同时刻传送不同的信息,称为 分时复用引脚 ① AD15~AD0(Address Data Bus) 地址/数据复用引脚 (输入/输出,三态) 在DMA方式,此线浮空。
第5章
功能相同的32个引脚的含义(续)
地址/状态复用引脚
② A19/S6~A16/S3(Address/Status) (输出,三态)
数据
8288主要控制总线的含义(续)
MRDC(Memoy Read Command):存储器读命令 MWTC(Memoy Write Command):存储器写命令 IORC(I/O Read Command):I/O读命令 IOWC(I/O Write Command):I/O写命令 这4个信号全是低电平有效的输出信号。
也就是一个总线操作即将结束,另一个总线周期还未
开始时,称为无源状态,很显然,这时 S2 S1 S0中任一 信号的改变,都意味着一个新的总线周期的开始。
第5章
8288主要控制总线的含义
ALE(Address Latch Enable) 地址锁存允许信号 (输出)
高电平有效。这是8288总线控制器提供给地址 锁存器8282/8283的控制信号,把当前地址/数
注意:在I/O操作时,这些地址不用,全为低电平。

汇编语言程序设计(第二版)第五章PPT课件

汇编语言程序设计(第二版)第五章PPT课件

MACRO retnum mov al,retnum mov ah,4ch int 21h ENDM
;;带有形参retnum ;;宏定义中使用参数
宏调用
宏名 [实参表]
start: mainbegin dispmsg string mainend 0 end start
;宏调用,建立DS内容 ;宏调用,显示字符串 ;宏调用,返回DOS
过程名 ENDP
➢要 调 用 带➢参过数程声过明程伪定指义令:的用过于程事,先声不明应过采程用的结构 CALL指令过,程因名为比较PR烦O琐TO 调用距离 语言类型, 参数:类型 ➢应该采用过程调用伪指令INVOKE ➢使 用 INV➢O过K程E调伪用伪指指令令的 前 提 是 需 要 用 PROTO伪指令对过程IN进VO行K声E 明过程名,参数,...
mov al,_a
imul _c
mov cx,4
imul cx
例5.1-1/2
;bx中为b2 ;ax中为4ac
例5.1-2/2
.if sword ptr bx >= ax ;比较二者大小 mov tag,1
;第一分支体:条件满足,tag←1 .else
mov tag,0 ;第二分支体:条件不满足,tag←0 .endif .exit 0
mov bx,ax mov ax,0 .ELSE * jmp @C0003 *@C0001: dec ax .ENDIF *@C0003:
.data
_a
sbyte ?
_b
sbyte ?
_c
sbyte ?
tag byte ?
.code
.startup
mov al,_b
imul al

汇编语言第五次课-精PPT23页

汇编语言第五次课-精PPT23页

谢谢!
36、自己的鞋子,自己知道紧在哪里。——西班牙
37、我们唯一不会改正的缺点是软弱。——拉罗什福科
xiexie! 38、我这个人走得很慢,但是我从不后退。——亚伯拉罕·林肯
39、勿问成功的秘诀为何,且尽全力做你应该做的事吧。——美华纳
40、学而不思则罔,思而不学则殆。——孔子
1、不要轻言放弃Βιβλιοθήκη 否则对不起自己。2、要冒一次险!整个生命就是一场冒险。走得最远的人,常是愿意 去做,并愿意去冒险的人。“稳妥”之船,从未能从岸边走远。-戴尔.卡耐基。
梦 境
3、人生就像一杯没有加糖的咖啡,喝起来是苦涩的,回味起来却有 久久不会退去的余香。
汇编语言第五次课-精 4、守业的最好办法就是不断的发展。 5、当爱不能完美,我宁愿选择无悔,不管来生多么美丽,我不愿失 去今生对你的记忆,我不求天长地久的美景,我只要生生世世的轮 回里有你。

汇编语言(王爽)第五章

汇编语言(王爽)第五章

汇编语⾔(王爽)第五章
第五章 [BX]和loop指令
*Loop指令
格式:loop 标号
等同步骤:(1)(cx)=(cx)-1;(2)若(cx)!=0,跳转到标号位置继续执⾏。

*Debug的相关命令及说明
g命令:g 偏移地址;使得执⾏到cs:偏移地址处停⽌;
p命令:使Debug程序⾃动重复执⾏代码中的循环指令,直到(cx)=0为⽌。

⽤Debug中直接写⼊指令,[idata]可以表⽰((段地址)*16+idata)处的值;⽽如果在汇编源代码中[idata]会被编译器masm处理为idata这个数值。

所以在汇编源代码中当使⽤⽴即数来表⽰偏移地址时,须加前缀以显式表明,⽐如:ds:[idata]。

*⽰例:计算ffff:0~ffff:b内存单元中数据的和,结果存储在dx中。

;1.每个内存单元⾥的数值是单字节类型,⽽dx是双字节寄存器
;2.总计12个内存单元的数据和最⼤为255*12<65535,不会产⽣溢出
assume cs:code
code segment
mov ax,0ffffH
mov ds,ax
mov bx,0;存储⽬标位置偏移地址
mov dx,0;初始化结果
mov ah,0;设置中转数的⾼位
mov cx,12
s:
mov al,[bx]
add dx,ax
inc bx
loop s
mov ax,4c00H
int 21H
code ends
end
*⼀段安全的空间:汇编学习过程中可以使⽤00200h~002ffh这段空间,总计256个字节。

第5章 汇编语言程序

第5章 汇编语言程序

Y
条件满足?
N
处理段
例5-5 设内部RAM30H,31H单元存放两个无符号数, 将大数存在31H,小数存于30H。 ORG 1000H START:CLR C MOV A,30H SUBB A,31H JC NEXT ;次序符合,返回 MOV A,30H ;交换 XCH A,31H MOV 30H,A NEXT: NOP SJMP $ END
$
5-3 分支程序
由条件转移指令构成程序判断框,形成程序分支结构。 5-3-1 单重分支程序 一个判断决策框,程序有两条出路。 两种分支结构: 例1 求R2中补码绝对值,正数不变, 影响条件 负数变补。
MOV A,R2 JNB ACC.7,NEXT;为正数? CPL A ;负数变补 INC A MOV R2,A NEXT:SJMP NEXT ;结束
五、对源程序进行交叉汇编得到机器代码; 反汇编 —— 分析现成产品的程序,要将二进制 的机器代码语言程序翻译成汇编语言源程序。
六、程序调试。
通过微计算机的串行口(或并行口)把机器代 码传送到用户样机(或在线仿真器)进行程序 的调试和运行。
5.1.3评价程序质量的标准
(1)程序的执行时间。 (2)程序所占用的内存字节数。 (3)程序的逻辑性、可读性。 (4)程序的兼容性、可扩展性。 (5)程序的可靠性。
方法二:采用除10H取余数将BCD拆开 ORG 1000H MOV A,20H; 2B 1T MOV B,#10H ; 3B 2T DIV AB ; 1B 4T ORL B,#30H ; 3B 2T MOV 22H,B ; 3B 2T ORL A,#30H; 2B 1T MOV 21H,A ; 2B 1T SJMP $ END;7条指令、16个内存字节、13个机器周期。

第三讲 8086汇编语言-5

第三讲 8086汇编语言-5

;定义字节变量
;送功能号
char c; scanf(“%c”,&c); ……
;保存按键的ASCII码
3.6 INT 21H系统功能调用和常用Bios功能调用
一、INT 21H系统功能调用
2号系统功能调用——显示器显示一个字符 入口参数:在DL中存放要显示字符的ASCII码; 调用格式:MOV DL,待显示字符的ASCII码 MOV AH,2 INT 21H 功能类似C中的printf(“%c”,c); …… 例:
2号系统功能调用——显示器显示一个字符 入口参数:在DL中存放要显示字符的ASCII码; 调用格式:MOV DL,待显示字符的ASCII码 MOV AH,2 …… INT 21H printf(“\r\n”); 功能类似C中的printf(“%c”,c); …… 思考编程:输出回车和换行符 提示:回车符/换行符的ASCII:0DH/0AH
数0~9的ASCII 码:30H~39H -30H/&0FH 数0~9的非压缩 BCD码:00H~09H
MOV MOV INT MOV MOV INT DL,0DH AH,2 21H DL,0AH AH,2 21H ;回车 ;换行
3.6 INT 21H系统功能调用和常用Bios功能调用
一、INT 21H系统功能调用
data 利用1、2号系统功能调用, C data 用汇编实现下列C功能: code …… char c; scanf(“%c”,&c); printf(“\n%c”,c); …… …… segment DB ? ends segment …… MOV AH,1 INT 21H MOV C,AL ;输入 MOV DL,0AH MOV AH,2 INT 21H ;换行 MOV DL,C MOV AH,2 INT 21H ;输出 …… ret endp ends end begin
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言程序设计
自然数求和程序
求和过程
➢求N个自然数之和 1+2+3+……+N
➢利用等差数列求和公式 1+2+3+……+N =(1+N)×N÷2
获得N值 N+1
(1+N)×N 结果除以2
保存结果
变量定义
;数据段
num dword 3456 ;假设一个N值(小于232-1)
sum qword ?
;为求和结果预留64位变量空间
'e' 'G'
低对低
预留存放厂商字符串的空间
;数据段 buffer byte 'The processor is', 12 dup(0), 0
;预留12字节空间,存放厂商字符串 bufsize = sizeof buffer ;获得整个缓冲器长度
GenuineIntel
AuthenticAMD
字符串保存于主存
;代码段
mov eax,0
cpuid
;执行处理器识别指令
mov dword ptr buffer+bufsize-13, ebx
bufsize 13
buffer byte 'The processor is', 1122dduupp((00)),0
处理器厂商字符串显示
mov dword ptr buffer+bufsize-13, ebx
自然数求和-2
;(64位)逻辑右移1位实现除以2
; EDX.EAX = EDX.EAX÷2
shr edx,1
((11+NN))×NN÷22
rcr eax,1
EDX
CF
EAX

保存结果
;64位结果,保存在64位类型的变量sum ;EDX = 高32位,EAX = 低32位 ;IA-32使用小端方式存储在主存 mov dword ptr sum, eax mov dword ptr sum+4, edx
处理器类型、系列、型号和分步信息 处理器缓存配置 处理器序列号 缓存配置(线程数量、核心数量和物理属性) 监视信息 扩展的厂商ID字符串和支持的级别 ……
处理器厂商字符串
➢12个字符,以ASCII码形式保存于3个32位寄存器
'G' 'e' 'n' 'u' 'i' 'n' 'e' 'I' 'n' 't' 'e' 'l'
;因为和值可能达到64位
dword qword
;定义32位(双字)变量 ;定义64位(4字)变量
自然数求和-1
;代码段 mov eax,num add eax,1 mul num
;EAX=N
((11+NN))×NN÷22
;EAX=N+1
;EDX.EAX=(1+N)×N
;32位相乘得到64位乘积
MMUULLrr3322/m3322 ;3322位乘法指令:EDX.EAX=EAX×rr3322//m3322
EDX
31
16 15
87
0
BH BL
ECX
BX EBX
GenuineIntel
处理器厂商字符串
➢12个字符 ➢以ASCII码形式 ➢保存于3个32位寄存器
GenuineIntel
'l'
ECX
CH
'e' 't'
CL 'n'
'I'
高对高
EDX DH
'e' 'n'
DL 'i'
'u'
'n'
EBX BH
BL
高对高、低对低
本讲总结 ➢自然数求和使用求和公式
11+22+……+NN=(1+N)×N÷2
➢按照指令前后顺序执行每条指令 ➢形成顺序程序结构
汇编语言程序设计
处理器识别程序
CPUID指令
EAX值 0
1 2 3 4 5 80000000H ……
CPUID指令的输出 厂商字符串和支持的最大CPUID选项值
mov dword ptr buffer+bufsize-9, edx
mov dword ptr buffer+bufsize-5, ecx
mov eax,offset buffer
;指向字符串
call dispmsg
;显示
The processor is GenuineIntel
Intel处理器运行结果
本讲总结
➢按照指令前后顺序执行每条指令
➢形成顺序程序结构
处理器识别
顺序结构—— 构成复杂程序结构的基础
字符串存于主存 显示字符串
相关文档
最新文档