文档库 最新最全的文档下载
当前位置:文档库 › TDA9370微处理器解析

TDA9370微处理器解析

TDA9370微处理器解析
TDA9370微处理器解析

TDA9370电路

TDA9370微处理器/中频/视频/色度/行场扫描小信号处理集成电路一、功能

TDA9370是菲利蒲公司生产的大屏幕多制式彩色电视机专用集成电路。该集成电路集微处理器(CPU)和图像、伴音中频/视频/色度/扫描小信号处理于一体。主要包括微处理器、图像、伴音中频信号处理电路、亮度信号处理电路、色度信号解调电路、RGB基色信号矩阵变换电路、黒电平延伸电路、图像清晰度增强电路、RGB基色信号选择开关电路、免调行振荡电路和行、场激励脉冲形成电路、图像状态调整电路等。长虹公司采用该集成电路生产的彩电有21″、25″、29″三种规格,主要型号有:SF2198、SF2598、PF2998等。TDA9370引脚功能、实测电压、对地电阻如表(1)所示。

二、典型应用电路

三、相关电路原理及检修要点

1.微处理器

集成块(1)~(11)脚、(56)~(64)脚外接元件和集成块内部相关电路组成的电路为控制系统电路的核心电路,该部分电路相当于普通彩

电中的微处理器。电视机工作过程中的固有工作程序和表示工作状态的文字显示均由该部分电路产生。该部分电路的作用是产生彩电中的各种控制量,实现对电视机整机的控制和各种功能的调节。电视机要正常工作,首先必须要该部分电路进入正常工作状态。

集成块(1)脚为TV/FM(调频收音)控制端。(1)脚为高电平“+5V”时,电视机处于电视信号接收状态;(1)脚为低电平时,电视机处于调频收音接收状态。在采用TDA9370生产的长虹彩电中,没有设计调频收音功能,(1)脚设计成高电平,电视机始终处于电视接收状态。在电视机出现无图像故障时,只要(1)脚电压接近+5V,就不必对(1)脚外电路进行检查。

集成块(2)(3)脚为总线信号输入/输出端。该两脚只与外部存贮器进行数据信息交换。微处理器正常工作过程中的全部节目数据就是通过该两脚输往外部存贮器的。正常情况下,总线信号输入/输出脚上的电压是一个不断变化的电压,总线信号输出端无信号输出或外部存贮器不正常,会造成电视机无图像无伴音故障。在电视机出现节目状态不能存贮和无图像无伴音故障时,若测量(1)(2)脚电压无变化,故障应在集成块TDA9370;若该两脚电压有变化,只是电压低,可判定故障在外部存贮器

集成块(4)脚为调谐电压输出端。调谐电压是由集成块内部电路形成的。该脚有无调谐电压输出,只与集成块TDA9370有关。电视机自动搜索预置节目过程中,该脚电压无变化,故障应当在集成块TDA9370。

集成块(5)(6)脚为本机键盘扫描电压输入端,外接本机轻触开关,内接译码器单元。轻触开关形成的键盘扫描电压从该两脚输入进入到译码器,由译码器译码后形成控制指令信号启动集成块内部相关电路进入工作状态,实现对电视机的功能控制和操作。电视机中的微处理器相当于一单片微型计算机,微型计算机在某一时刻只能执行一条指令,轻触开关按下接通一次,就意为着电视机中的微处理器输入了一条指令。轻触开关长期接通或漏电,意为着微处理器在同一时刻有多条指令输入,这种情况微处理器将拒绝执行指令接收,表现在故障上,就是电视机全部功能失控。因此,当电视机出现控制失效(本机和遥控均不起作用)故障时,一定要对该两脚外电路进行检查。

集成块(7)(8)脚为波段电压输出端,波段电压由集成块内部的波段电压形成电路形成。在电视机总线数据信号正常情况下,该两脚无波段电压输出,故障应在集成块TDA9370。

集成块(10)脚为低音提升开关控制脚。输出的控制电压输往低音提升电路上,控制低音提升电路的工作状态。该脚输出的控制电压虽然由集成电路内部电路形成,但该脚有无控制电压输出,对伴音的有无并无影响。因此,电视机出现无伴音故障时,不必对该脚外电路进行检查。集成块(11)脚为伴音制式控制和调频收音控制电压输出端。采用TDA9370生产的长虹彩电,无调频收音功能,该脚输出的控制电压直接输往由声表面滤波器组成的幅频特性选择电路,通过对幅频特性选择电

路工作状态的控制,实现对第二伴音进行选择。当电视机出现接收TV 信号伴音不正常故障时,应当注意检查该脚外电路。

集成块(56)(60)脚分别为保证微处理器正常工作的电源电压和复位电压供电端。微处理器要正常工作,首先该两脚电压必须正常。电源电压和复位电压均来自开关电源中的稳压电路。在利用本机键或遥控器二次开机,电视机不能由待机状态进入正常工作状态时,若查得该两脚电压不正常(电压低、电压高或电压不稳定),可判定故障不在开关电源中的稳压电路,就在TDA9370。

集成块(61)脚为数/模电源端。集成块内部的数/模电路要正常工作,该脚电压必须正常。

集成块(58)(59)脚外接12MHZ晶体振荡器与集成块内部相关电路组成时钟振荡电路,产生12MHZ脉冲信号,该脉冲信号不仅作为集成块内部微处理器电路部分正常工作的时钟信号,还作为图像中频信号、色度信号、行脉冲形成处理电路正常工作的锁相信号。时钟振荡电路工作不正常,首先不能进入正常工作状态的是集成块内部的微处理器电路部分。若电视机能从待机状态进入工作状态,且屏幕字符和功能均正常,可判定时钟振荡电路无故障。

集成块(62)脚为静音控制电压输出脚,电视机处于静音状态和切换频道瞬间,该脚输出高电平。静音控制电压由集成块内部电路形成。电视

机切换频道瞬间出现响声或不能静音,测量(62)脚无高电平电压输出,应当判定故障在集成块TDA9370。

集成块(63)脚为待机控制电压输出脚。在长虹彩电中,该脚输出的控制电压仅对行激励电路进行控制。电视机工作在待机状态时,(63)脚输出高电平2.65V;电视机由待机状态进入正常工作状态后,(63)脚输出低电平“0”V。待机控制电压由集成块内部电路形成。若用遥控器或本机键二次开机,电视机不能启动进入工作状态,测量(63)脚电压始终维持高电平2.65V,可判定故障在集成块。

集成块(64)脚为遥控信号输入端。遥控接收器输来的控制信号由该脚输入。用遥控器对电视机进行控制时,该脚有0.7V左右的变化范围。电视机出现遥控失效故障时,断开遥控接收器,测量该脚电压不正常,可判定故障在集成块。

2.图像中频信号处理电路

图像中频信号处理电路由集成块(23)(24)(27)(37)(38)脚外接元件和集成块内部相关电路组成。图像中频信号处理电路的任务是对图像中频信号进行放大、检波,从图像中频信号中检出视频全电视信号的同时,产生自动频率控制(AFT)信号、中放和高放AGC控制电压。集成块(23)(24)脚为图像中频信号输入端,从声表面滤波器输来的图像中频信号,由(23)(24)脚输入后,由集成块内部的图像中频信号放大电路进行放大,放大后的图像中频信号被送往视频检波电路进行

检波。视频检波电路所需要的38MHZ同步脉冲信号由集成块内部的同步脉冲产生电路产生。同步脉冲产生电路为一压控振荡器(VCO),集成块(37)脚外接元件为压控振荡器锁相环(PLL)滤波元件,(37)脚外接元件不正常,会导致压控振荡器的振荡频率发生偏移,使同步检波电路不能正常工作,最终出现利用全自动搜索功能预置节目过程中,节目号不变故障。

集成块(27)脚为RFAGC电压输出端,(38)脚为检波后的视频全电视信号输出端。

(27)脚电压正常值应当随信号强弱变化而变化。在集成块(23)(24)脚有正常的图像中频信号输入的情况下,集成块(27)(38)脚有无正常的高放AGC电压和视频全电视信号输出,只取决于集成块(37)脚外接元件和集成块本身是否正常。因此,利用全自动搜索功能预置节目时,若电视机出现节目号不变故障,检修时,只对集成块(37)脚外电路和集成块进行检查就行了。

伴音中频信号处理电路

伴音中频信号处理电路由集成块(28)~(32)(35)(44)脚外接元件和集成块内部相关电路组成。该部分电路的主要任务是在完成对伴音中频进行放大和鉴频的同时,实现对TV/AV音频信号进行切换。

集成块(28)(44)脚均为音频信号输出端,(32)脚为第二伴音中频信号输入端,(35)脚为外音频(AV音频)信号输入端。集成块(29)

(31)(32)脚外部元件和集成块内部相关电路组成了第二伴音中频放大和伴音鉴频电路。从集成块(32)脚输入的第二伴音中频信号由集成块内部电路组成的第二伴音中频放大电路放大后,直接输往伴音鉴频电路进行鉴频。

集成块(29)脚为伴音鉴频电路退耦电容连接端,(31)脚为伴音鉴频锁相(PLL)电路滤波端。伴音鉴频电路能否从第二伴音中频电路中解调出音频信号,完全取决于集成块

(29)(31)脚外电路中的元件和集成块是否正常。伴音鉴频电路出故障,通常出现的故障现象是无伴音或伴音噪声大,因此,检修电视机无伴音或伴音噪声大故障时,若查得集成块

(28)(44)脚输出的音频信号不正常,首先应对集成块(29)(31)脚外电路进行检查,若更换该两脚外电路元件后,故障仍不能排除,则故障在集成块。

采用集成块TDA9370生产的长虹21’’彩电中,TV音频与AV音频信号的切换由集成块内部的切换开关电路完成。集成块(35)脚输入的AV 音频信号和从鉴频电路(集成块内部)输来的音频信号,经集成块内部TV/AV音频信号切换开关电路切换后,分别从集成块(28)

(44)脚输出。根据这一特点,完全可判定采用集成块TDA9370生产的长虹21’’彩电出现音频信号切换不正常故障时,其故障在集成块。

https://www.wendangku.net/doc/0b16282175.html,/AV视频信号切换和亮度信号处理电路3.

TV/AV视频信号切换和亮度信号处理电路由集成块(40)(42)(47)(50)脚外接元件和集成块内部相关电路组成。(40)脚为TV视频全电视信号输入端;(42)脚为AV视频信号(S端子为Y信号)输入端;(47)脚为亮度信号(DVD状态)输入端。(40)(42)(47)脚输入的信号由集成块内部切换开关电路进行选择切换,切换后的亮度信号被送往亮度信号处理电路,由亮度信号处理电路进行处理。亮度信号处理电路由集成块(50)脚外接元件和集成块内部相关电路组成。(50)脚为黑电流检测输入端,该脚有无检测电压输入,对图像亮度信号的有无无影响。从TV/AV视频信号切换和亮度信号处理电路对亮度信号的处理过程分析,TV/AV视频信号和亮度信号从视频信号、亮度信号输入端进入集成块内部电路后,已不在输出,而是完全由集成块内部电路进行处理。因此,电视机出现亮度信号丢失或不能进行TV/AV视频信号切换故障应由集成块引起。

5.色度信号解调

色度信号解调电路由集成块(43)(46)(48)脚外接元件和集成块内部相关电路组成。

(43)脚为S端子状态下的色度信号输入端;(46)(48)脚为DVD状态下的色差信号输入端。色度信号解调电路的任务是完成从色度信号中

解调出R-Y、B-Y色差信号的同时,实现外电路输入的R-Y、B-Y色差信号与内部色差信号的切换。

集成块TDA9370的最大特点是色度信号解调电路完全由集成块内部电路组成。只要集成块(43)脚有色度信号输入,或者(42)(40)脚有视频全电视信号输入,色度信号解调电路就能从色度信号中解调出R-Y、B-Y色差信号。因此,采用TDA9370生产的彩色电视机一旦出现黑白图像正常、无彩色故障,其故障一定在集成块。

6.RGB基色信号矩阵变换电路和RGB基色信号选择开关电路

RGB基色信号矩阵变换电路和RGB基色信号选择开关电路由集成块(51)~(53)脚外接元件和集成块内部相关电路组成。该部分电路的主要任务是对R-Y、B-Y信号、Y信号进行矩阵变换和对电视画面RGB基色信号、字符RGB基色信号进行切换控制,向末级视放电路输送RGB基色信号。

由于集成块TDA9370集微处理器、色度信号处理等电路于一体,所以,由该集成电路组成的RGB基色信号矩阵变换电路和RGB基色信号选择开关电路没有字符RGB基色信号和字符消隐信号输入端口。集成块内部微处理器形成的字符基色信号和消隐信号由集成块内部直接输往RGB基色信号选择开关电路。

集成块(51)~(53)脚为RGB基色信号输出端,输出的RGB信号直接输往末级视频放大电路进行视频放大。RGB基色信号矩阵变换电路和RGB

基色信号选择开关电路完全由集成块内部电路组成。集成块(51)~(53)脚有无正常的RGB基色信号输出,完全取决于集成块的好坏。

RGB基色信号矩阵变换电路和RGB基色信号选择开关电路出故障,通常出现的故障是图像彩色不正常。电视机接收彩色电视信号有彩色,只是彩色不正常,这种现象若检查视放电路和显像管无故障,其故障一定在集成块。

7.ABL控制、EHT检测、E-W电路

集成块(49)脚为ABL电压控制检测端。检测电压来自行输出变压器。该脚外接电路中的元件开路或短路,不会造成无光栅故障,只会造成光栅亮度不正常,在光栅亮度正常情况下,应当判定该脚外电路无故障。只有在电视机出现亮度不正常故障时,才对该脚外电路进行检查。

集成块(36)脚为EHT(高压)检测电压输入端。检测电压来自行输出变压器,该脚输入的电压主要用于稳定行、场幅度。集成块(36)脚无电压输入,电视机不会出现无光栅故障。

集成块(20)脚为几何失真校正脉冲信号输出脚,该脚输出的脉冲信号(抛物波)完全由集成块内部电路形成。21”彩电不需要进行几何失真校正,该脚不用。25”以上彩电需要进行几何校正,从该脚输出几何失真校正脉冲信号。在对电视机进行几何失真校正调整时,该脚电压有一定变化,可判定集成块内部的几何失真校正电路工作正常,无变化则说明集成块内部的几何失真校正电路存在故障。

行、场扫描小信号形成电路

行、场扫描小信号形成电路由集成块(16)~(19)(21)(22)(25)(26)(33)(34)脚外接元件和集成块内部相关电路构成。

行扫描小信号形成电路主要由同步分离电路、行振荡电路、行激励脉冲形成等电路组成。同步分离电路完全由集成块内部电路组成,行振荡电路和行激励脉冲形成电路由集成块(16)~(19)(33)(34)脚外接元件和集成块内部相关电路组成。集成块(16)(17)脚外接行锁相环滤波(PLL)电路。在行振荡电路中,行振荡电路能否振荡只与集成块内部电路有关。行振荡电路的振荡频率由微处理器中的时钟脉冲进行锁定。集成块(16)(17)脚外接元件虽然对行振荡电路的振荡频率无影响,但对行激励脉冲形成电路的工作状态有明显影响。

(16)(17)脚外接元件异常(开路或漏电),行振荡电路和行激励脉冲形成电路将不能进入正常工作状态,轻者会出现图像不稳,重者会造成机内出现异常叫声无图声故障。所以,在电视机能从待机状态进入工作状态,出现图像不稳、机内有异常叫声的同时出现无图声故障时,一定要注意检查(16)(17)脚外接元件,若外接元件正常,则故障在集成块。

集成块(34)脚既是行逆程脉冲输入端,又是沙堡脉冲输出端。该脚输入的行逆程脉冲信号来自行输出变压器。行逆程脉冲从该脚输入后分成两路,一路输往行AFC电路,一路输往沙堡脉冲形成电路。由于行振荡

电路的振荡频率受微处理器的时钟脉冲锁定,因此,(34)脚有无行脉冲输入,并不影响行振荡电路的振荡频率,只影响行AFC电路和沙堡脉冲形成电路的工作状态。实际上(34)脚无脉冲信号输入,只会造成图像中心发生偏移,不会造成行不同步和无光栅无伴音故障。因此,在电视机出现无光栅、无伴音故障时,不用对(34)脚外接元件进行检查,只有在电视机出现行中心偏移时,才对(34)脚外接元件进行检查。当然,一旦电视机出现行中心偏移故障,若检查(34)脚外电路中的元件正常,则行中心偏移故障在集成块。

集成块(33)脚为行激励脉冲输出端。集成块+8V供电电压是保证该脚有稳定的行激励脉冲输出的必要条件。+8V电压来自行输出电路。在采用TDA9370生产的长虹彩电中,行激励电路和行输出电路不工作,不会造成(33)脚无行激励脉冲输出,只会造成(33)脚输出的行激励脉冲不稳定。因此,当集成块(33)脚无稳定的行激励脉冲输出时,应当首先对集成块+8V供电电压进行检查。若用外部稳压电源对集成块进行+8V供电之后,集成块

(33)脚有稳定的行激励脉冲输出,则可判定(33)脚无稳定行激励脉冲输出的原因在行激励或行输出电路;若通过外加+8V电压,仍不能使(33)脚获得稳定的行激励脉冲,则可判定集成块TDA9370存在故障。场激励脉冲形成电路由集成块(21)(22)(25)(26)脚外接元件和集成块内部相关电路组成。TDA9370无独立的场振荡电路,场激励脉冲由行脉冲分频产生。集成块(21)(22)脚为场激励脉冲输出端;(25)

脚为场参考电压设置端;(26)脚为场锯齿波电容连接端。(26)脚外接电容容量愈小,场幅越大。(25)脚外接电阻阻值变得很大或开路,集成块内部的保护电路将启动进入工作状态,保护电路进入工作状态后,电视机将出现无光栅故障(此时机内有异常叫声)。在场激励脉冲形成电路中,集成块(25)(26)脚外接元件正常是保证(21)(22)脚有场激励脉冲正常工作的必备条件。因此,检修电视机呈水平亮线故障时,若测量集成块(21)(22)脚无场激励脉冲输出,对TDA9370来讲,只对集成块(25)(26)脚外接元件和集成块进行检查就行了。

6.参数调整

电视图像的亮度、对比度、色饱和度、色调、光栅白平衡等参数的调整,完全由集成块的微处理器(CPU)电路部分通过总线控制完成。影响电视机功能的是总线预置数据,在彩电维修中,更换存贮器后,要使电视机功能与原设计功能一致并使电视机正常工作,必须在“维修模式”下,对总线数据进行预置。采用该集成块生产的长虹彩电进入“维修模式”的方法是:将电视机的音量关到最小,按住遥控器“静音”键的同时,按本机“菜单”,就可进入“维修模式”状态,进入“维修模式”后,分别按“节目加减”键和音量“加减”键进行选项和调整。调整结束后,遥控关机,即可退出“维修模式”并存贮数据。

第5章中央处理器(考研组成原理)

5.1.2习题精选 一、单项选择题 1.【2011年计算机联考真题】 某机器有一个标志寄存器,其中有进位/借位标志CF 、零标志ZF 、符号标志SF 和溢出标志OF ,条件转移指令bgt (无符号整数比较大子时转移)的转移条件是( )。 A .CF+OF=l B . SF ——+ZF=1 C . CF+ZF —————=1 D .CF+SF ————— =1 2.【2010年计算机真题】 下列寄存器中,汇编语言程序员可见的是( )。 A .储器地址寄存器(MAR) B .程序计数器(PC) C .存储区数据寄存器(MDR) D .指令寄存器(IR) 3.下列部件不属于控制器的是( )。 A .指令寄存器 B .程序计数器 C .程序状态字 D .时序电路 4.通用寄存器是( )。 A .可存放指令的寄存器 B .可存放程序状态字的寄存器 C .本身具有计数逻辑与移位逻辑的寄存器 D .可编程指定多种功能的寄存器 5.CPU 中保存当前正在执行指令的寄存器是( )。 A .指令寄存器 B .指令译码器 C .数据寄存器 D .地址寄存器 6.在CPU 中,跟踪后继指令地址的寄存器是( )。 A .指令寄存器 B .程序计数器 C .地址寄存器 D .状态寄存器 7.条件转移指令执行时所依据的条件来自( )。 A .指令寄存器 B .标志寄存器 C .程厣计数器 D .地址寄存器 8.所谓n 位的CPU ,这里的n 是指( )。 A .地址总线线数 B .数据总线线数 C .控制总线线数 D . I/O 线数 9.在CPU 的寄存器中,( )对用户是透明的。 A .程序计数器 B .状态寄存器 C .指令寄存器 D .通用寄存器 10.程序计数器(PC)属于( )。 A .运算器 B .控制器 C .存储器 D . ALU 11.下面有关程序计数器(PC)的叙述中,错误的是( )。 A . PC 中总是存放指令地址 B .P C 的值由CPU 在执行指令过程中进行修改 C .转移指令时,PC 的值总是修改为转移目标指令的地址 D . PC 的位数一般和存储器地址寄存器(MAR)的位数一样 12.在一条无条件跳转指令的指令周期内,PC 的值被修改( )次。 A .1 B .2 C .3 D .无法确定

《汇编语言》问题3.10解析

1、如果要在10000H处写入字型数据2266H,可以用以下的代码完成: mov ax,1000H mov ds,ax mov ax,2266H mov[0],ax 补全下面的代码,使它能够完成同样的功能:在如果要在10000H处写入字型数据2266H。 要求:不能使用“mov内容单元,寄存器”这类命令。 _____________ _____________ _____________ mov ax,2266H push ax 解析:大家看,如何实现在10000H处写入字型数据2266H? 也就是说要在SS:SP(1000:0)指向的栈顶处将字型数据2266H写入。 那我们在10000H处写入字型数据2266H前的栈顶指向肯定SS:SP(1000:2),即为我需要初始化栈时设定的栈顶。 因此,完成的程序如下。 mov ax.1000H mov ss,ax mov sp,2 mov ax,2266H push ax 2、如果要在1000H处读取字型数据2266H,可以用以下的代码完成: mov ax,1000H mov ds,ax mov ax,2266H mov ax,[0] 补全下面的代码,使它能够完成同样的功能:在如果要在10000H处读取字型数据2266H。 要求:不能使用“mov内容单元,寄存器”这类命令。 _____________ _____________ _____________ mov ax,2266H pop ax 解析:如何在10000H处读取字型数据2266H? 也就是说要在SS:SP(1000:0)指向的栈顶处将字型数据2266H读取。 那我们在10000H处读取字型数据2266H前的栈顶指向肯定SS:SP(1000:0),即为我需要初始化栈时设定的栈顶。 因此,完成的程序如下。 mov ax.1000H mov ss,ax mov sp,0 mov ax,2266H pop ax 总结:写入数据的话,写入数据时的栈顶和当前栈顶(即写入数据前的栈顶)不一样;读取数据的话,读取数据时的栈顶和当前栈顶(即读取数据前的栈顶)一样。

80x86微机原理参考答案

第一章计算机基础(P32) 1-1电子管,晶体管,中小规模集成电路、大规模、超大规模集成电路。 1-2把CPU和一组称为寄存器(Registers)的特殊存储器集成在一片大规模集成电路或超大规模集成电路封装之中,这个器件才被称为微处理器。以微处理器为核心,配上由大规模集成电路制作的只读存储器(ROM)、读写存储器(RAM)、输入/输出、接口电路及系统总线等所组成的计算机,称为微型计算机。微型计算机系统是微型计算机配置相应的系统软件,应用软件及外部设备等. 1-3写出下列机器数的真值: (1)01101110 (2)10001101 (3)01011001 (4)11001110 答案: (1)+110 (2)-13(原码) -114(反码)-115(补码)(3)+89 (4)-78(原码)-49(反码)-50(补码) 1-4写出下列二进制数的原码、反码和补码(设字长为8位): (1)+010111 (2)+101011 (3)-101000 (4)-111111 答案: (1)[x]原=00010111 [x]反= 00010111 [x]补= 00010111 (2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011 (3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000 (4)[x]原=10111111 [x]反= 11000000 [x]补=11000001 1-5 当下列各二进制数分别代表原码,反码,和补码时,其等效的十进制数值为多少? (1)00001110 表示原码14,反码14,表示补码为14 (2)11111111 表示原码-127,反码-0,表示补码为-1 (3)10000000 表示原码-0,反码-127,表示补码为-128 (4)10000001 表示原码-1,反码-126,表示补码为-127 1-6 已知x1=+0010100,y1=+0100001,x2=-0010100,y2=-0100001,试计算下列各式。(字长8位) (1)[x1+y1]补(2)[x1-y2]补 (3)[x2-y2]补(4)[x2+y2]补 (5)[x1+2*y2]补(6)[x2+y2/8]补 答案: (1)[x1+y1]补=[00010100+00100001]补=[00110101]补=00110101 (2)[x1-y2]补=[x1]补+[-y2]补=00010100+00100001=00110101 (3)[x2-y2]补=[x2]补+[-y2]补=11101100+00100001=00001101 (4)[x2+y2]补=[x2]补+[y2]补=11101100+11011111=11001011 (5)[x1+2*y2]补=[x1]补+[2*y2]补=00010100+10111110=11010010 (6)[x2+y2/8]补=11101100+[y2/8]补=11101100+11111100=11101000

汇编语言(第2版)王爽著-课后实验报告详解

汇编语言实验报告 : 班级学号 学生姓名 提交日期 成 绩

实验1-1如下: 用E命令将指令写入内存:

用A命令将指令写入内存: 实验1-2代码如下: 用a命令在2000:0000处写如要写如的代码,然后用R命令来修改CS为2000,IP修改为0,然后用T命令执行,直到AX中的值为10,因为是默认为十六进制,所以ax中的0010实际代表十进制的16。如图:

实验1-3: 用D命令输入内存fff0h~fffffh,则可看到:

生产日期为06/15/09在地址为FFFF5~FFFF12处,现在用E命令随便修改一下有: 在window7下虚拟的dos中可以改,但如果重新打开dos中的debug 则日期任然不会改变,因为那是ROM。 实验1-4代码如下:

内存地址为B800:0开始的为显存,是RAM,可以改变其值来在屏幕中显示,其中这一个字符占两个字节,前一个(低)为字符的ASCII 码,后一个(高)为要显示的颜色,内存B800:0和B800:1这两个字节对应着屏幕中的第一个字符的位置,依次类推,每个屏幕的行有80个字符,对应的内存占160个字节 实验2-1:(按实验结果填空) Mov ax,ffff Mov ds,ax Mov ax,2200 Mov ss,ax Mov sp,0100 Mov ax,[0] ;ax=5BEA Add ax,[2] ;ax=5CCA Mov bx,[4] ;bx=30F0 Add bx,[6] ;bx=6026 Push ax ;sp=00FE; 修改的内存单元的地址是2200:00FE 内容是5CCA Push bx ;sp=00FC; 修改的内存单元的地址是2200:00FC内容是6026 Pop ax ;sp=00FE; ax=6026. Pop bx ;sp=0100; bx=.5CCA Push [4] ;sp=00FE; 修改的内存单元的地址是2200:00FE内容是30F0 Push [6] ;sp=00FC; 修改的内存单元的地址是2200:00FC内容是2F36 实验截图如下:

第五章中央处理器习题参考答案1

1.请在括号内填入适当答案。在CPU中: (1) 保存当前正在执行的指令的寄存器是(指令寄存器IR); (2) 保存当前正要执行的指令地址的寄存器是(程序计数器PC); (3) 算术逻辑运算结果通常放在(通用寄存器)和(数据缓冲寄存器DR)。 2.参见下图(课本P166图5.15)的数据通路。画出存数指令"STA R1 ,(R2)"的指令周期流程图,其含义是将寄存器R1的内容传送至(R2)为地址的主存单元中。标出各微操作信号序列。 解:"STA R1 ,(R2)"指令是一条存数指令,其指令周期流程图如下图所示:

3.参见课本P166图5.15的数据通路,画出取数指令"LDA(R3),RO"的指令周期流程图,其含义是将(R3)为地址的主存单元的内容取至寄存器R0中,标出各微操作控制信号序列。 5.如果在一个CPU周期中要产生3个脉冲 T1 = 200ns ,T2 = 400ns ,T3 = 200ns,试画出时序产生器逻辑图。 解:节拍脉冲T1,T2,T3的宽度实际等于时钟脉冲的周期或是它的倍数,此时T1= T3=200ns ,T2 = 400 ns ,所以主脉冲源的频率应为 f = 1 / T1 =5MHZ 。为了消除节拍脉冲上的毛刺,环 型脉冲发生器可采用移位寄存器形式。下图画出了题目要求的逻辑电路图和时序信号关系。根据关 系,节拍脉冲T1,T2,T3 的逻辑表达式如下: T1 = C1·, T2 = , T3 = 6.假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指

令公用的。已知微指令长度为32位,请估算控制存储器容量。 解:微指令条数为:(4-1)×80+1=241条 取控存容量为:256×32位=1KB 7. 某ALU器件使用模式控制码M,S3,S2,S1,C来控制执行不同的算术运算和逻辑操作。 下表列出各条指令所要求的模式控制码,其中y为二进制变量,F为0或1任选。 试以指令码(A,B,H,D,E,F,G)为输入变量,写出控制参数M,S3,S2,S1,C的逻辑表达式。 解: M=G S3=H+D+F S2=1 C=H+D+(E+F)y 8.某机有8条微指令I1-I8,每条微指令所包含的微命令控制信号如下表所示。 a-j分别对应10种不同性质的微命令信号。假设一条微指令的控制字段为8位,请安排微指令的控制字段格式。 解:经分析,(e ,f ,h)和(b, i, j)可分别组成两个小组或两个字段,然后进行译码,可得六个 微命令信号,剩下的a, c, d, g 四个微命令信号可进行直接控制,其整个控制字段组成如

第五章中央处理器习题参考答案1.请在括号内填入适当答案。在CPU中

第五章中央处理器习题参考答案 1.请在括号内填入适当答案。在CPU中: (1) 保存当前正在执行的指令的寄存器是(指令寄存器IR); (2) 保存当前正在执行的指令地址的寄存器是(程序计数器AR); (3) 算术逻辑运算结果通常放在(通用寄存器)和(数据缓冲寄存器DR)。 2.参见下图(课本P166图5.15)的数据通路。画出存数指令"STA R1 ,(R2)"的指令周期流程图,其含义是将寄存器R1的内容传送至(R2)为地址的主存单元中。标出各微操作信号序列。 解:"STA R1 ,(R2)"指令是一条存数指令,其指令周期流程图如下图所示:

3.参见课本P166图5.15的数据通路,画出取数指令"LDA(R3),RO"的指令周期流程图,其含义是将(R3)为地址的主存单元的内容取至寄存器R0中,标出各微操作控制信号序列。 5.如果在一个CPU周期中要产生3个脉冲 T1 = 200ns ,T2 = 400ns ,T3 = 200ns,试画时序产生器逻辑图。 解:节拍脉冲T1 ,T2 ,T3 的宽度实际等于时钟脉冲的周期或是它的倍数,此时T1 = T3 =200ns , T2 = 400 ns ,所以主脉冲源的频率应为 f = 1 / T1 =5MHZ 。为了消除节拍脉冲上的毛刺,环 型脉冲发生器可采用移位寄存器形式。下图画出了题目要求的逻辑电路图和时序信号关系。根据关 系,节拍脉冲T1 ,T2 ,T3 的逻辑表达式如下: T1 = C1·, T2 = , T3 =

6.假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指令公用的。已知微指令长度为32位,请估算控制存储器容量。解:微指令条数为:(4-1)×80+1=241条 取控存容量为:241×32/8=964B 7. 某ALU器件使用模式控制码M,S3,S2,S1,C来控制执行不同的算术运算和逻辑操作。下表列出各条指令所要求的模式控制码,其中y为二进制变量,F 为0或1任选。试以指令码(A,B,H,D,E,F,G)为输入变量,写出控制参数M,S3,S2,S1,C的逻辑表达式。

汇编语言(第2版)王爽著_课后实验报告详解

(此文档为word格式,下载后您可任意编辑修改!) 实验一: 用E命令将指令写入内存:

用A命令将指令写入内存: 实验1-2代码如下: 用a命令在2000:0000处写如要写如的代码,然后用R命令来修改CS为2000,IP修改为0,然后用T命令执行,直到AX 中的值为10,因为是默认为十六进制,所以ax中的0010实际

代表十进制的16。如图: 实验1-3: 用D命令输入内存fff0h~fffffh,则可看到:

生产日期为061509在地址为FFFF5~FFFF12处,现在用E命令随便修改一下有: 在window7下虚拟的dos中可以改,但如果重新打开dos中的debug则日期任然不会改变,因为那是ROM。 实验1-4代码如下:

内存地址为B800:0开始的为显存,是RAM,可以改变其值来在屏幕中显示,其中这一个字符占两个字节,前一个(低)为字符的ASCII码,后一个(高)为要显示的颜色,内存B800:0和B800:1这两个字节对应着屏幕中的第一个字符的位置,依次类推,每个屏幕的行有80个字符,对应的内存占160个字节实验2-1:(按实验结果填空) Mov ax,ffff Mov ds,ax Mov ax,2200 Mov ss,ax Mov sp,0100 Mov ax,[0] ;ax=5BEA Add ax,[2] ;ax=5CCA Mov bx,[4] ;bx=30F0 Add bx,[6] ;bx=6026 Push ax ;sp=00FE; 修改的内存单元的地址是2200:00FE 内容是5CCA Push bx ;sp=00FC; 修改的内存单元的地址是2200:00FC内容是6026

汇编语言程序例题知识讲解

程汇题例序言语编. 精品文档 【例5.1】试编写一程序计算以下表达式的值。 w=(v-(x*y+z-540))/x 式中x、y、z、v均为有符号字数据。 设x、y、z、v的值存放在字变量X、Y、Z、V中,结果存放在双字变量 W之中,程序的流程图如图5.1所示。

DATA SEGMENT DW 200 X DW Y 100 DW Z 3000 DW V 10000 DW 2 DUP(?)W DATA ENDS STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS 收集于网络,如有侵权请联系管理员删除. 精品文档 CODE SEGMENT ASSUME DS:DATA,CS:CODE,SS:STACK START:MOV AX,DATA MOV DS,AX ;DATA→AX X ,MOV AX AX (*Y)→DX:IMUL Y ;(X) MOV CX,AX MOV BX,DX ;(DX:AX)→(BX:CX) Z ,MOV AX )符号扩展;(Z CWD ADD CX ,AX ADC BX,DX ;(BX :CX)+(DX:AX)→(BX:CX)SUB CX,540 SBB BX,0 ;(BX:CX )-540→(BX:CX) V ,MOV AX CWD ;(V)符号扩展 SUB AX,CX SBB DX,BX ;(DX:AX)-(BX:CX)→(DX:AX)

;(DX:AX )/X IDIV X MOV W,AX ;商→W ;余数DX MOV W+2,DX→W+2 收集于网络,如有侵权请联系管理员删除. 精品文档 MOV AH,4CH INT 21H ENDS ;退出DOS 状态CODE END START 【例5.2】已知某班学生的英语成绩按学号(从1开始)从小到大的顺序排列在TAB表中,要查的学生的学号放在变量NO中,查表结果放在变量ENGLISH中。编写程序如下: STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS DATA SEGMENT TAB DB 80,85,86,71,79,96 DB 83,56,32,66,78,84 NO DB 10 DB ?ENGLIST DATA ENDS CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE BEGIN:MOV AX,DATA MOV DS ,AX LEA BX,TAB MOV AL,NO DEL AL XLAT TAB MOV ENGLISH,AL MOV AH,4CH INT 21H CODE ENDS 收集于网络,如有侵权请联系管理员删除.

汇编实验报告分析解析

福建农林大学金山学院实验报告 系:信息与机电工程专业:电子信息工程年级: 2013 班级: 3班 姓名:单瑞学号: 136710101 实验课程:汇编语言 实验室号:金综B705实验时间:2015/6/12指导教师签字:刘永芬成绩: 实验三分支循环程序设计 1.实验目的和要求 1、学习调试程序,查找逻辑错误; 2、学习分支语句的编程和调试; 3、学习循环语句的编程和调试。 2.实验环境 实验的硬件环境是: IBM—PC机及其兼容机 实验的软件环境是: 操作系统:DOS 2.0以上;调试程序:https://www.wendangku.net/doc/0b16282175.html,;文本编程程序:EDIT.EXE、WPS.EXE;宏汇编程序:MASM.EXE(或ASM .EXE);连接装配程序:LINK .EXE;交叉引用程序:CREF.EXE(可有可无)。 3.实验内容及实验数据记录 1.有10个数,统计正数的个数,存放在变量M中中。经过汇编后,形成EXE文件。在DEBUG中,先用G=0命令执行程序,用D命令查看M单元的内容,会发现结果不正确。用单步执行命令T=0,单步执行程序,查找程序中的逻辑错误,注意每一次循环中AL寄存器中值的变化是否正确。(AL寄存器中存放正数的个数) DSEG SEGMENT MSG DB 4, -2, -6, 0, 5, 67, 8, -3, 5, 6 M DB ? DSEG ENDS CSEG SEGMENT ASSUME CS: CSEG, DS: DSEG START: MOV AX, DSEG MOV DS, AX

MOV AL, 0 LEA SI, MSG L1: MOV BL, [SI] CMP BL, 0 JBE NEXT INC AL NEXT: INC SI LOOP L1 MOV M, AL MOV AL, 0 MOV AH, 4CH INT 21H CSEG ENDS END START 2.数据段中是一组无符号数,将最小数存放在M单元中。按上题方法查找一处逻辑错误。 DSEG SEGMENT MSG DB 13, 15, 7, 25, 24 M DB ? DSEG ENDS CSEG SEGMENT ASSUME CS: CSEG, DS: DSEG START: MOV AX, DSEG MOV DS, AX MOV CX, 4 MOV AL, MSG MOV SI, OFFSET MSG+1 L1: CMP AL, [SI] JB NEXT MOV AL, [SI] NEXT: LOOP L1 MOV M, AL MOV AL, 0

第三章80X86微型处理器及其系统结构

80X86微型处理器及其系统结构 学习目的: 了解三总线及堆栈的工作原理。 掌握微处理器的一般结构、算逻部件ALU、寄存器结构、控制部件。 重点掌握Intel 8086微处理器的结构。 堆栈 1. 堆栈的定义 用作数据暂时存储的一组寄存器或存储单元称为堆栈。 堆栈中数据按“后进先出”的结构方式进行处理,即新入栈的依次堆放在原来数据之上,存放信息的最后一个单元叫做栈顶,用堆栈指针SP(Stack Pointer)指示。 堆栈操作有两种:压入(PUSH)和弹出(POP),而SP始终指向堆栈栈顶的新位置。 2. 堆栈编址结构的两种形式 (1) 向上生成 该结构中,每压入一个数据,堆栈指示器SP按增量修改,每弹出一个数据,SP按减量修改。 (2) 向下生成 该结构中,每压入一个数据,SP按减量修改,每弹出一个数据,SP按增量修改 3. 构成堆栈的两种形式 一种是使用微处理器内部的一组寄存器作为堆栈。 优点:访问速度快。 缺点:寄存器数量有限。 一种形式是在随机存储器RAM中开辟一个区间供堆栈使用,较为普遍;若编址采用向下生成,其堆栈操作如下图所示。

由上图中可以看出,出栈操作并不会从堆栈中去掉信息,也不擦除它们,只是因SP 的自动修改而改变了堆栈的栈顶。 堆栈主要用于中断控制,子程序调用以及数据暂时存储。 3.2 微处理器的一般结构 传统的微处理器结构由算术逻辑部件ALU ,控制电路及寄存器阵列三大部分组成,如下图所示。

一、算术逻辑部件ALU (Arithmetic Logic Unit) ALU是执行算术运算、逻辑运算及移位的装置。 ALU有两个输入端,一个与累加器相连,另一端与暂存器相连,用于存放参加运算的两个数。 ALU的输出端也有两个,一端将操作结果送回到内部总线再送回累加器,另一端用于输出表示操作结果特征的标志信息。 二、寄存器阵列 一般包括通用寄存器、累加器、标志寄存器、专用寄存器等。寄存器的使用提升了计算机的功能和程序设计的灵活性。 1. 通用寄存器组 可用于存放数据和地址,有8bit和16bit等,CPU可直接处理这些信息,减少了访问存储器的次数,节省访问内存时间。 2. 累加器 也是数据寄存器,与ALU一起完成各种算术或逻辑运算,运算前作为ALU的一个输入,运算后常用于保存结果。 CPU对I/O接口电路的读出或写入一般也是通过累加器进行的。 3. 标志寄存器 在算术或逻辑运算时,为了保存可能发生的进位、溢出、符号、全零及奇偶性等状态的变化,微处理器设置标志寄存器。 其所存的状态将可作为一种条件,常用于判断是否控制程序转移。 4. 专用寄存器 (1) 程序计数器PC (Program Counter) 它是指令地址寄存器,其内容指出了现行指令在存储器中的存放地址。 注:当按PC的内容从存储器中取出指令时,PC的内容自动加1。 对单字节指令而言,则PC指向了下一条指令所在的地址。 对多字节指令,则每取一个字节,PC自动加1,当取出最后一个指令字节时,PC仍指向下

汇编语言课后习题解答

第1章基础知识 检测点1.1(第9页) (1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为13位。 (2)1KB的存储器有1024个存储单元,存储单元的编号从0到1023。 (3)1KB的存储器可以存储8192(2^13)个bit,1024个Byte。 (4)1GB是1073741824(2^30)个Byte、1MB是1048576(2^20)个Byte、1KB是1024(2^10)个Byte。 (5)8080、8088、80296、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能力分别为: 64(KB)、1(MB)、16(MB)、4(GB)。 (6)8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根、32根。则它们一次可以传送的数据为: 1(B)、1(B)、2(B)、2(B)、4(B)。 (7)从内存中读取1024字节的数据,8086至少要读512次,80386至少要读256次。 (8)在存储器中,数据和程序以二进制形式存放。

(1)1KB=1024B,8KB=1024B*8=2^N,N=13。 (2)存储器的容量是以字节为最小单位来计算的,1KB=1024B。 (3)8Bit=1Byte,1024Byte=1KB(1KB=1024B=1024B*8Bit)。 (4)1GB=1073741824B(即2^30)1MB=1048576B(即2^20)1KB=1024B(即2^10)。(5)一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。这样的CPU 最多可以寻找2的N次方个内存单元。(一个内存单元=1Byte)。 (6)8根数据总线一次可以传送8位二进制数据(即一个字节)。 (7)8086的数据总线宽度为16根(即一次传送的数据为2B)1024B/2B=512,同理1024B/4B=256。 (8)在存储器中指令和数据没有任何区别,都是二进制信息。

汇编语言课程设计——计算器讲解

******************* 实践教学 ******************* 兰州理工大学 技术工程学院 2015年春季学期 汇编语言实训课程设计 题目:____ 计算器 专业班级:_2013级软件工程(1)班__ 姓名:_______郭益婷_ _ 学号: 13740104 指导教师:刘树群 成绩:__________ _____

2015计算器任务书 题目:计算器 学生姓名学号:杜政毅13740102,惠攀龙13740108, 郭益婷13740104 班级:13软件工程1班 题目类型:软件工程(R)指导教师:刘树群 1、设计目的 用汇编语言编程设计一个简单的计算器,实现四则运算数的交互式输入,并显示运算结果。通过设计,掌握键盘和鼠标控制、显示输出和基本算术运算指令的应用,进一步提高综合运用知识的能力。 2、设计内容(包括原始数据、技术参数、条件、设计要求等): 使用按键式操作,对任意给定的正确四则运算序列,能按照意图分部计算出其计算的有效结果数值并输出。 3、设计要求 题目的选择是根据汇编语言的特点主要针对系统内部的一些中断调用、系统功能调用、系统数据处理、文件数据处理、以及相关的API而设计的,是对所学课程知识较为系统的应用。 由于汇编语言编程相对其他语言编程比较复杂,因此,在设计上应把重点放在程序的功能实现上,不要太在意程序的结构和显示界面的设计。不要局限于题目所规定的要求,可以灵活裁减,设计出功能更完善程序。另外,也可以自己设计题目,同时,提出详细的功能描述,经指导老师审查同意后也可作为课程设计的题目。 4、提交的成果 1. 设计说明书一份,内容包括:包含任务书一份 1) 中文摘要100字,关键词3-5个。 2) 实训题目、内容、要求。 3)总体设计(包含几大功能模块)。 4)详细设计(各功能模块的具体实现算法——流程图) 5)数据结构设计描述,各模块(函数)的功能介绍,参数说明等。

第5章 中央处理器

第5章中央处理器 5.1 学习要求 中央处理器(CPU)是整个计算机的核心,它包括运算器和控制器。本章着重讨论CPU 的功能和组成,控制器的工作原理和实现方法,微程序控制原理,基本控制单元的设计以及先进的流水线技术和RISC技术。 CPU的功能和主要寄存器 控制器的基本组成 时序系统中指令周期、机器周期的概念 指令执行的基本过程 微程序控制的基本概念 微指令编码法特点 微程序控制器的组成和工作过程 硬连线控制器工作原理 微程序入口地址和后继微地址的形成 控制单元的设计 流水线技术和RISC技术 5.2典型例题解析 1.请在括号内填入适当答案。在CPU中: ⑴保存当前正在执行的指令的寄存器是,⑵保存当前正在执行的指令地址的寄存器是;⑶算术逻辑运算结果通常放在和。 答:⑴ IR; ⑵ AR; ⑶ AC和PSW 2.假设主脉冲源频率为10MHz,要求产生5个等间隔的节拍脉冲,试画出时序产生器的逻辑图。 解:

3.如果在一个CPU周期中要产生3个节拍脉冲;Tl=200ns,T2=400ns,T3=200ns,试画出时序产生器逻辑图。 解:

1 2 3 4 5 6 C 4 C 1 C 2 C 3 T 1 T 2 T 3 4.假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指令公用的。已知微指令长度为32位,请估算控制存储器容量。 解:80条指令,平均每条指令由4条微指令组成,其中有一条公用微指令,所以总微指令条数为80×(4-1)+1=241条微指令,每条微指令32位,所以控存容量大约为241×32位。 5.某ALU器件是用模式控制码M S3 S2 S1 C来控制执行不同的算术运算和逻辑操作。下表列出各条指令所要求的模式控制码,其中y为二进制变量,φ为0或l任选。 试以指令码(A,B,H,D,E,F,G)为输入变量,写出控制参数M,S3,S2,Sl,C 的逻辑表达式。 解:由表可列如下逻辑方程 M=G S3=H+D+F S2=A+B+D+H+E+F+G S1=A+B+F+G C=H+D+Ey+Ey 由以上逻辑方程即可画出逻辑电路图 6.某机有8条微指令I1—I8,每条微指令所包含的微命令控制信号如下表所示。

《汇编语言》问题3.8解析

《汇编语言》问题3.8解析 编程: (1)将1000H~1000fh这段空间当作栈,初始状态栈是空的; (2)设置AX=001AH,设置BX=001BH; (3)将AX、BX中的数据入栈; (4)然后将AX、BX清零; (5)从栈中恢复AX、BX原来的内容。 解析: 1、将1000H~1000fh这段空间当作栈,初始状态栈是空的 mov ax,1000H mov ss,ax mov sp,0010H 2、如何设置呢? mov ax,001AH mov bx,001BH 3、什么是入栈? push ax push bx 4、如何将AX、BX清零? AX、BX清零就是设AX、BX为0即可,如下: mov ax=0 mov bx=0 不过书中给了另一种答案: sub ax,ax sub bx,bx 看到该答案时还以为自己做错了,甚至惊讶。随即仔细一看,恍然大悟。 看来惯性思维害死人啊,今后一定要看看是否有另外一种解决方案。 书中给出了解释,说sub ax.ax的机器码为2个字节,而mov ax,0的机器码为3个字节。这说明什么,书中的答案更为高明。 不过,为什么“sub ax.ax的机器码为2个字节,而mov ax,0的机器码为3个字节”? 看来关于机器码的部分我还没彻底搞明白,此为疑点,今后抽空补习。 5、关键点:从栈中恢复AX、BX原来的内容。 pop bx pop ax 完整格式如下; mov ax,1000H mov ss,ax mov sp,0010H mov ax,001AH mov bx,001BH push ax push bx mov ax=0 mov bx=0

第五章 中央处理器 白

2 3 4、5 6 7 8 9、10 11 12 13 14 15

二、综合应用题 1、给出以下5条指令的指令周期中各节拍的安排: ①CLA。将累加器内容清0; ②加法指令ADD X。将累加器ACC内容与主存X地址单元的内容 相加,并将结果送累加器中; ③存数指令。STA X。将累加器内容存于主存X地址单元中; ④取数指令。LDA X。将主存X地址单元的内容取出送到累加器 ACC中; ⑤无条件转移指令JMP X。将指令的地址码部分送至PC中。 2、某计算机的主频为8MHz,若已知每个机器周期平均包含4个时钟 周期,该机的平均指令执行速度为0.8MIPS。 1)求该机的平均指令周期及每个指令周期含几个机器周期? 2)若改用时钟周期为0.4μs的CPU芯片,则计算机的平均指令执行速度为多少MIPS? 3)若要得到平均每秒40万次的指令执行速度,则应采用主频是多少的CPU芯片?

3、如图所示,是一个简化的CPU与主存连接结构示意图(图中省略 了所有多路选择器)。其中有一个累加寄存器ACC,一个状态寄存器和其他4个寄存器,主存地址寄存器MAR、主存数据寄存器MDR、程序计数器PC和指令寄存器IR、各部件及其间的连线表示数据通路,箭头表示信息传送方向。 一个简化的CPU与之粗连接结构示意图 要求: 1)请写出图中abcd四个寄存器的名称; 2)简述图中取指令的数据通路; 3)简述数据在运算器和主存之间进行存/取访问的数据通路; 4)简述完成指令LDA X的数据通路(X为主存地址,LDA 的功能为(X)→ACC) 5)简述完成指令ADD Y的数据通路(Y为主存地址,ADD 的功能为(ACC)+(Y)→ACC) 6)简述完成指令STA Z的数据通路,(Z为主存地址,STA的功能为(ACC)→Z)。 4、设有如图所示的单总线结构,分析指令ADD R0(R1)的指令流程。 设前一操作数地址为目的,后一操作数地址为源。

汇编语言指令及解释

常见汇编语言指令及解释#1常见汇编语言指令解释: 1.Rn表示R0~R7中的一个 2.#data表示8位的数值00H~FFH 3.direct表示8位的地址00H~FFH 4.#data1616位立即数 5.@Ri表示寄存器间接寻址只能是R0或者R1 6.@DPTR表示数据指针间接寻址,用于外部64k的RAM/ROM寻址 7.bit表示位地址 8.$表示当前地址 寄存器寻址MOV A,R1将R1中的数值赋予A 直接寻址MOV A,3AH将地址3AH中的数值赋予A 立即寻址MOV A,#3AH将3AH数值赋予A mov dptr,#1828h 寄存器间址MOV A,@Ri将Ri中地址的数值赋予A,Ri或是R0或是R1 MOV A,@DPTR 变址寻址MOVC A,@A+DPTR以A中的数值为地址偏移量进行查表;变址寻址区是程序存储器ROM,而不是数据存储器RAM 相对寻址AJMP MAIN跳转到行号为MAIN处 位寻址MOV C,7FH将位地址7FH的数值赋予C MOV C,2FH.7; MOV C,ACC.7 MOV A,#3AH数据传输、赋值命令 PUSH direct将direct为地址的数值压入堆栈中 POP direct将direct为地址的数值弹出堆栈 XCH A,direct将direct中的数值与A进行交换 ADD A,direct将direct中的数值与A中的数值相加 INC direct将direct中的数值加1 SUBB A,direct将A中的数值减去direct中的数值和Cy值,并保存在A中,如果想使用不带Cy减法,可以在运算前对Cy清零CLR C DEC direct将direct中的数值减1 DA A用于对BCD码加减法后进行10进制调整 MUL AB将A和B相乘,并把高八位放在B中,低八位放在A中 DIV AB将A和B相除,并把商的整数部分放在A中,余数放在B中 ANL A,direct将A与direct中的数值进行与运算,结果保留在A中(与运算规律:有0出0,全1出1) ORL A,direct将A与direct中的数值进行或运算,结果保留在A中(或运算规律:有1出1,全0出0) XRL A,direct将A与direct中的数值进行异或运算,结果保留在A中(异或运算规律:全0出0,全1出0,01、10出1) CLR A对A清零 CPL A对A取反 RL A对A中数左移RR A对A中数右移 RLC A对A中数带Cy左移 RRC A对A中数带Cy右移 SWAP A对A中的数高4位低4位互相交换 LJMP长跳转指令,64K地址范围 AJMP短跳转指令,2K地址范围 JZ rel如果A为0就跳转到rel行号处 JNZ rel如果A不为0就跳转到rel行号处 CJNE A,#data,rel如果A不等于data就跳转到rel行号处 DJNZ R1,rel如果R1减1后不为0就跳转到rel行号处ACALL rel调用rel子程序,2K地址以内 LCALL rel调用rel子程序,64K地址以内 RET子程序返回指令 RETI中断程序返回指令 NOP空操作指令 MOV C,bit将位地址bit中的值赋予C CLR bit将bit位地址清0 SETB bit将bit位地址置1 CPL bit将bit位地址取反 ANL C,bit将地址bit中的值和C做与运算,结果存放在C中 ORL C,bit将地址bit中的值和C做或运算,结果存放在C中 JC rel如果Cy为1,就跳转到rel行号处 JNC rel如果Cy为0,就跳转到rel行号处 JB bit,rel;若BIT=1则转移 JNB bit,rel;若BIT=0则转移 JBC bit,reL;若BIT=1则转移,且BIT置1 1加法指令: ADD A,Rn;ADD A,direct;ADD A,@Ri;ADD A,#DATA 2带CY的加法指令: ADDC A,Rn;ADDC A,direct;ADDC A,@Ri;ADDC A,#DATA 3加一指令: INC A;INC Rn;INC direct;INC@Ri;INC DPTR 4减法指令: SUBB A,Rn;SUBB A,direct;SUBB A,@Ri;SUBB A,#data 5减一指令:DEC A;DEC Rn;DEC direct;DEC@Ri 6十进制调整指令:DA A 7乘法和除法指令:MUL AB;乘积高八位放在B中,低八位放在A中 DIV AB;商的整数放在A中,余数放在B中 8逻辑异或:XRL A,Rn

ARM汇编语言编程详解

ARM汇编语言编程详解 硅谷芯微嵌入式学院技术贡献网址:https://www.wendangku.net/doc/0b16282175.html,

4.1 汇编语言 使用汇编语言编写程序,它的特点是程序执行速度快,程序代码生成量少,但汇编语言是一种不易学习的编程语言,并且可读性较差,这种语言属于低级语言。每一种汇编语言对应每一款芯片,使用这种语言需要对硬件有深刻的了解。在通常情况下,可以使用汇编语言编写驱动程序、需要严格计算执行时间的程序以及需要加速执行的程序。

先介绍一个例子来说明ARM汇编程序的格式。 例1 计算20+8,结果放入R0寄存器。 AREA Buf, DATA, READWRITE ;声明数据段Buf Count DCB 20 ;定义一个字节单元Count AREA Example, CODE, READONLY ;声明代码段Example ENTRY ;标识程序入口 CODE32 ;声明32位ARM指令START LDRB R0, Count ;R0 = Count =20 MOV R1, #8 ;R1 = 8 ADD R0, R0, R1 ;R0 = R0 + R1 B START END

例1中定义了两个段:数据段Buf和代码段Example 。数据段中定义了字节单元Count,其中Count用来保存一个被加数;代码段中包含了所有源程序代码,程序中首先读取Count字节单元的内容,然后与立即数8相加,计算结果保存到R0中。 由例1可见,ARM汇编语言的源程序是分段的,由若干个段组成一个源程序。源程序的一般格式为: AREA name1, attr ;声明特定的段标号语句1 ;语句 ... 语句n AREA name2, attr 标号语句n+1 ... 语句n+m END ;结束符

第五章中央处理器

第五章中央处理器 5.1.1 CPU的功能 CPU对整个计算机系统的运行是极其重要的,它具有如下四方面的基本功能: ★指令控制★操作控制 ★时间控制★数据加工 5.1.2 CPU的基本组成 CPU的基本部分由运算器、cache和控制器三大部分组成。 5.1.3 CPU中的主要寄存器 在CPU中至少要有六类寄存器。这些寄存器用来暂存一个计算机字。根据需要,可以扩充其数目。 1.数据缓冲寄存器(DR) 缓冲寄存器的作用是: (1)作为CPU和内存、外部设备之间信息传送的中转站; (2)补偿CPU和内存、外围设备之间在操作速度上的差别; (3)在单累加器结构的运算器中,数据缓冲寄存器还可兼作为操作数寄存器。 2.指令寄存器(IR) 3.程序计数器(PC) 4.地址寄存器(AR) 5.通用寄存器【累加寄存器(AC)】 6.状态条件寄存器(PSW) 5.1.4 操作控制器与时序产生器 在各寄存器之间建立数据通路的任务,是由称为操作控制器的部件来完成的。 根据设计方法不同,操作控制器可分为时序逻辑型、存储逻辑型、时序逻辑与存储逻辑结合型三种。 5.2 指令周期 5.2.1 指令周期的基本概念 指令周期CPU从内存取出一条指令并执行这条指令的时间总和。 数据通路是许多寄存器之间传送信息的通路。信息从什么地方开始,中间经过哪个寄存器或多路开关,最后传送到哪个寄存器,都要加以控制。 CPU周期又称机器周期,CPU访问一次内存所花的时间较长,因此用从内存读取一条指令字的最短时间来定义。

时钟周期通常称为节拍脉冲或T周期。一个CPU周期包含若干个时钟周期。 5.2.2 非访内指令的指令周期 下面以六条典型指令为例进行说明,如P131表5.1,[MOV R0,R1指令] 5.2.3LAD取数指令的指令周期

汇编语言实验题目(讲解)

一微机原理与接口技术汇编题目 (1)数据块传送 1、将数据段中2000H单元开始存放的10个数(8位数)传送到3000H开始的10个字节中。 2、将数据段DATA1中的10个字数据(16位数)传送到数据段DATA2中。 提示: 1、指定数据的起始地址:(如果不指定起始地址,则起始地址为0000H) DA TA SEGMENT ORG 2000H DB 1,,2,3,4,5,6,7,8,9,10 ; DB定义字节数据 ORG 3000H DB 10 DUP(0); 预留10个单元存放结果,初值预定义为0 DA TA ENDS 定义的内存单元为: 2009H

2、定义字数据命令为:DW DA TA1 SEGMENT DW 1,,2,3,4,5,6,7,8,9,10 ; DW定义字数据DA TA1 ENDS 一个字为两个字节,在内存中低位在前,高位在后。

(2)查表 1、已知0~15的平方值表,查表求X(X是0到15 间任一数)的平方值,送到Y单元,用两种方法。 2、已知0~255的平方值表,查表求X的平方值,送到Y单元。 提示: 0到15的平方表,每个平方值为一个字节; 0到255的平方表,每个平方值为2个字节;调试程序,平方表中的数据定义几个就行,目的是程序正确即可。 一个字为两个字节,在内存中低位在前,高位在后。

(3)计算 1、计算多字节数据1122334455667788H与99AABBCCDDEEFF00H的和。 2、计算8字节的BCD码十进制数1122334455667788H与9988776655443322H的和 3、计算10个字数据的和(数据自己定义)。 提示; 1、多字节数据在内存中存放,低位在前,高位在后 DA T1 DB 88H,77H,66H,55H,44H,33H,22H,11H DA T2 DB 00H,0FFH,0EEH,0DDH,0CCH,0BBH,0AAH,99H DA T3 DB 9 DUP(0) 2、BCD十进制加法 二进制加法指令: ADD BCD十进制加法: ADD

相关文档
相关文档 最新文档