![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
微机原理闹危机
只是有点小怂
本职工作是电子工程师,其他都是业余爱好
展开
-
TASM报错argument needs type override的解决办法
参考博文 16位汇编编译报错和解决办法 https://blog.csdn.net/HGGshiwo/article/details/105464296错误语句 cmp [bx], 8,不知道是1byte还是1word修改为 cmp byte ptr [bx], 8参数没有指定类型,参数前加上byte ptr原创 2022-02-01 19:38:24 · 1408 阅读 · 0 评论 -
tasm报错illegal memory reference的解决办法
出错原因,无法直接交换两块内存空间,如MOV [DI], [SI],需要寄存器AX进行保存以下转移值mov ax, [si]mov [di], ax使用masm编译可能会报error A2070: invalid instruction operands的错误原创 2022-01-29 11:51:18 · 1342 阅读 · 0 评论 -
TLINK时报错Fatal:No Program entry point的解决办法
参考博客https://blog.csdn.net/sjq__python_web/article/details/79842753汇编程序中Fatal:No Program entry point错误的解决办法这个博主报错的原因是因为没有写start入口程序和end start,我写了start和end,但要写成end start才行原因:最后一行end需要加上start...原创 2022-01-27 19:17:47 · 556 阅读 · 0 评论 -
配置Sublime Text3和MASM32编译汇编的问题汇总
参考博客,最有价值的博客是第一篇博客园的文章https://www.cnblogs.com/cway/p/12793740.html 在sublime text3中编译汇编并高亮显示https://blog.csdn.net/sinat_34260423/article/details/64133043 配置Sublime Text3编译汇编并高亮代码https://blog.csdn.net/m0_49448277/article/details/116772403 汇编语言编辑器:Subli.原创 2022-01-27 17:25:56 · 863 阅读 · 0 评论 -
使用TASM时报错extra characters on line的解决办法
多打了一个,号,将MOV AX,[BX],[SI]修改为MOV AX,[BX][SI]原创 2022-01-26 11:14:08 · 1066 阅读 · 0 评论 -
17级Biter的微机课程学习总结另外附上19年微机考试题型分布
虽然这门课叫计算机组成原理,但学完才知道应该叫微机更合适,而且是两门课合在一起了,汇编和8086各种接口芯片的编程,分值分布为期末考试70分平时作业30分,闭卷,不让带计算器。据说从16级开始两门课开始合在一起,所以以往资料包里看到的10,11的题目相差挺大的,(注意我们不考8250,而且8250和8251差别挺大的)但和16级考得题型类似,未来几年题型应该会比较稳定。。。但在大学生增负的...原创 2019-12-25 13:10:44 · 551 阅读 · 1 评论 -
汇编test相等把ZF(零标志)置0表示不等于0
test相等把ZF(零标志)置0,表示不等于0(NZ),与JZ配合使用,JZ是ZF=1跳转ZF Zero Flag 零标志ZF = 1 ZR/Zero/等于零ZF = 0 NZ/Not Zero/不等于零原创 2019-12-24 12:58:06 · 2336 阅读 · 0 评论 -
标志位操作指令七条CLC,STC,CLD,STD,CLI,STI,CMC
指令全称功能CLCclear carry flagCF清零STCset carry flagCF置位1CMCcomplement carry flagCF取反CLDclear direction flagDF清零STDset direction flagDF置位1CLIclear interrupt endable flag...原创 2019-12-23 15:00:20 · 13077 阅读 · 0 评论 -
系统功能调用DOS中断INT 21H功能包单字符输入01单字符输出02字符串输入0a字符串输出09
微机原理与接口技术39讲BIOS和DOS系统调用BIOS更加底层,可以直接使用DOSDOS软中断INT 21H调用步骤单字符输入按下回车退出assume cs:codecode segmentstart:get_key: mov ah,1 int 21h cmp al,'y' jz yes cmp al,...原创 2019-12-20 15:44:45 · 1997 阅读 · 0 评论 -
过程定义伪指令proc和宏命令伪指令macro
微机原理与接口技术38讲过程名:过程入口的符号地址,ret负责返回断点宏命令伪指令调整偏移量伪指令 ORG原创 2019-12-20 15:05:40 · 1240 阅读 · 1 评论 -
一个完整的汇编程序结构
首先进行段寄存器的初始化,将段地址送相应寄存器,应该占有的区域系统才会真正为你分配。只有代码段不需要初始化,代码段寄存器的值系统自动赋给CS。assume cs:codedatas segment;... datas endsstack segment;... stack endscode segmentstart: mov ax,datas m...原创 2019-12-20 14:19:53 · 2073 阅读 · 0 评论 -
汇编知识点——符号与段定义的伪指令EQU,ASSUME,END
微机原理与接口技术37讲符号定义伪指令EQU段定义伪指令 设定段寄存器伪指令ASSUME结束伪指令END原创 2019-12-20 13:01:57 · 2772 阅读 · 0 评论 -
调整偏移量伪指令ORG
微机原理与接口技术36讲调整偏移量伪指令ORGassume cs:codedatas segment org 1200h buff db 1,2datas endscode segmentstart: mov ax,datas mov ds,ax lea ax,buff mov ah,4ch int 21...原创 2019-12-20 12:50:00 · 459 阅读 · 0 评论 -
汇编取值运算符OFFSET,SEG,LEA和属性运算符PTR
微机原理与接口技术取值运算符属性运算符PTR原创 2019-12-20 12:43:06 · 6914 阅读 · 1 评论 -
汇编知识点——数据定义伪指令
微机原理与接口技术36讲数据定义伪指令数据定义伪指令助记符DB字符串定义重复操作符?assume cs:codedatas segment data1 db 11h,22h,33h,44h data2 dw 11h,22h,3344h data3 dd 11h*2,22h,33445566h data4 db 'avcd',66h m1 db 10 ...原创 2019-12-20 12:36:47 · 5387 阅读 · 3 评论 -
贺利坚老师汇编课程74笔记:按下esc键改变显示颜色
依次显示’a’ - ‘z’无法看清屏幕显示,同一位置显示字母,字母切换太快在显示一个字母后,延时一段时间assume cs:codecode segmentstart: mov ax,0b800h mov es,ax mov ah,'a' s:mov es:[160*12+40*2],al ;让CPU执行一段时间...原创 2019-12-19 19:59:10 · 289 阅读 · 0 评论 -
汇编里的外中断
外中断:由外部设备发生的事件引发的中断不可屏蔽中断NMI不可屏蔽中断是CPU必须响应的中断当CPU检测不可屏蔽中断信息时,则在执行完当前指令后,立即响应,引发中断过程对8086CPU不可屏蔽中断的中断类型码固定为2可屏蔽中断可屏蔽中断是CPU可以不响应的外中断CPU是否响应可屏蔽中断,要看标志寄存位IF位的设置当CPU检测到可屏蔽中断信息如果IF = 1,CPU在执...原创 2019-12-19 19:38:58 · 348 阅读 · 0 评论 -
贺利坚老师汇编课程73笔记:键盘输入的处理过程
指路老师的博客键盘的每一个键相当于一个开关,键盘中有一个芯片对键盘的每一个键的开关状态进行扫描按下一个键的操作开关接通,该芯片就产生了一个扫描码,扫描码说明按下的键在键盘的位置. 扫描码被送入主板的相关接口芯片的寄存器中,该寄存器的端口地址为60H松开按下的键时的操作. 产生一个扫描码,扫描码说明了松开的键在键盘的位置松开按键时产生的扫描码也被送入60H端口号中...原创 2019-12-19 17:47:56 · 443 阅读 · 0 评论 -
贺利坚老师汇编课程70笔记:端口的读写
指路老师的博客端口对应外部设备发声程序assume cs:codecode segmentstart: mov al,08h;设置声音频率 out 42h,al out 42h,al in al,61h ;读设别控制器的端口值 mov ah,al ;保存原值 or al,3 ;打开扬声器和定时器 ...原创 2019-12-19 16:01:25 · 474 阅读 · 0 评论 -
BIOS和DOS中断例程的安装过程
CPU一加电,初始化(CS) = 0FFFFH,(IP) = 0自动从FFFF:0单元开始执行程序。FFFF:0处有一条跳转指令,CPU执行该指令后,转去执行BIOS中的硬件检测和初始化程序跳转指令-然而啥也没有初始化程序将建立BIOS所支持的中断向量,即将BIOS中断例程的入口地址登记在中断向量表中硬件系统检测完成后,调用INT 19H进行操作系统引导,计算机交给操作系统控制...原创 2019-12-19 15:20:50 · 387 阅读 · 0 评论 -
MOV AH,XXH INT XXH——BIOS中断和DOS中断
BIOS在系统板ROM里存放着一套程序容量8KB,地址从FE000H开始感兴趣可以一直查看一直到3F但看ASC码是字符显示,推测并不是程序而是字符就这里有字符,往后一直是0BIOS主要内容硬件系统的检测和初始化程序外部中断和内部中断的中断例程用于对硬件设备进行I/O操作的中断例程其他和硬件系统相关的中断例程使用BIOS功能调用,程序员不用了解硬件的操作细...原创 2019-12-19 15:08:11 · 771 阅读 · 0 评论 -
int n引发的中断应用——编写中断7CH的中断例程
int n指令的最终功能和call指令类似,调用一段程序系统将一些具有一定功能的子程序,以中断处理程序的方式提供给应用程序调用编程时用int指令调用子程序子程序即中断处理程序,简称中断例程中断7CH的中断例程按照中断的运行机制的要求编写参考中断0的中断例程功能:求一个word型数据的平方参数:(ax) = 要计算的数据返回值:dx,ax中存放结果的高、低16位例:2...原创 2019-12-19 13:25:41 · 801 阅读 · 0 评论 -
详解汇编里的单步中断-T使用寄存器标志位TF和IF
debug利用CPU提供的单步中断功能程序的正常执行取指令改变CS:IP执行指令取指令DEBUG提供单步中断的中断处理程序,显示所有寄存器的内容后等待输入命令使用-T命令,debug将TF标志设为1,使CPU工作在单步中断的方式下自定义单步中断处理程序,实现特殊功能单步中断的处理与过程TF陷阱标志(trap flag):用于调试的单步方式操作TF = ...原创 2019-12-18 22:54:39 · 8263 阅读 · 0 评论 -
贺利坚老师汇编课程66笔记:自定义除法中断学习如何编制中断程序
指路老师的博客CPU随时可能检测中断信息,所以中断程序常驻内存(一直存储在内存的某段空间中)中断处理程序的入口地址,即中断向量,必须存储在中断向量表的表项中(0000:0000 - 0000:03FF)编写中断处理程序do0相关处理向显示缓冲区送字符串’overflow!’返回dos放在哪?常驻内存,放在内存具体哪一块常驻内存的程序:由自己安装到内存的指定区域...原创 2019-12-18 22:16:27 · 286 阅读 · 0 评论 -
8086的内中断典型如int 21h的分析
除法错误:0执行div指令产生除法溢出单步执行:1执行into指令:4执行int n指令,立即数n为中断类型码CPU接到中断信息:执行中断处理程序中断信息和入口地址联系:中断向量表共1024个字节256个中断每个入口地址占四个字节,放IP共2个字节和CS共2个字节中断类型码和入口地址的映射关系(IP) = (N * 4)(CS) = (N * 4 + 2)0号中...原创 2019-12-18 20:43:17 · 1539 阅读 · 0 评论 -
十六进制的形式在屏幕中间显示二进制byte类型数据
标准处理手法:先加上30H,与'9' = 39H比较,大于就就加7H原创 2019-12-18 19:30:24 · 328 阅读 · 0 评论 -
串的复制——串传送指令MOVSB和方向标志位DF和CLD和REP
指路老师的博客DF 方向标志位 DIRECTION FLAG在串处理指令中,控制每次操作后SI,DI的增减DF = 0每次操作后SI,DI递增 UPDF = 1每次操作后SI,DI递减 DN/Downmovsb 以字节为单位传送(move string byte)((ES) * 16 + (DI)) = ((DS) * 16 + (SI));DF = 0(SI) ...原创 2019-12-18 16:45:38 · 2231 阅读 · 0 评论 -
汇编重要知识点:地址编号和数据编号
a原创 2019-12-18 11:24:57 · 1466 阅读 · 0 评论 -
观察0号中断:除数为0
MOV AX,1MOV BX,0DIV BX调试观察,除数为0转而处理中断处理程序0000:0000保存着0号中断的IP和CS显示???是因为微软没公布对应的汇编语言原创 2019-12-17 22:26:38 · 469 阅读 · 0 评论 -
汇编MOV AH,9 INT 21H的应用——屏幕显示
0DH = 13D ASC码代表回车0AH = 11D ASC码代表换行lea 取字符串的标号assume cs:codesg,ss:stacksg,ds:datasgstacksg segment db 200h dup(0)stacksg endsdatasg segment message db 0dh,0ah,'hello world!',0dh,0ah,'$'d...原创 2019-12-17 22:16:19 · 10596 阅读 · 1 评论 -
汇编画图题:存储器扩展(重要)
北京交通大学戴胜华老师MOOC微机原理与接口技术1. 容量字长的扩展2. 片选信号的产生地址不连续地址连续混合使用RAM 和 ROM连续起来,刚好从2000H开始速算,2K 是 11位,一个F是4位,两个F是8位,一个7是3位,7FF加起来总共11位1K 是 10位,一个F是4位,两个F是8位,一个3是2位,3FF加起来总共10位地址分配后就开始设计译码电路...原创 2019-12-17 21:08:28 · 4664 阅读 · 0 评论 -
微机:存储器全译码产生片选信号的题目
北京交通大学戴胜华老师MOOC微机原理与接口技术从A0-A19一个个写出来8K * 8,13位地址,A0 - A12,A12以上选中这片先写低位再写高位2732是4K,16进制,4位打一个逗号某8位机,地址总线为16位,其RAM区采用若干个6264(8K*8bit)芯片,片选信号采用全译码法,译码器选用74LS138。若其中一个6264的片选...原创 2019-12-17 20:01:50 · 4978 阅读 · 0 评论 -
8255A置位复位控制字
北京交通大学戴胜华老师MOOC微机原理与接口技术8255A的工作方式控制字例题B口中断,B口原本工作在方式1输入要把PC2置1用置位复位控制字1设置PC2...原创 2019-12-17 16:49:03 · 5910 阅读 · 1 评论 -
8255A的工作方式控制字
北京交通大学戴胜华老师MOOC微机原理与接口技术8255A的工作方式控制字,设置工作方式0方式1方式2B口4种方式,方式1有选通信号,方式0是无条件的输入输出方式(程序控制方式)没有选通信号PC的高四位A口有三种工作方式到底输入输出由D4来决定D7固定1同一个地址既有方式控制字还有复位置位控制字例题PC没有用到通通填0为什么送到这里,因为控制字是最后...原创 2019-12-17 16:39:30 · 33882 阅读 · 0 评论 -
8255工作方式2——双向选通输入输出(A口)
北京交通大学戴胜华老师MOOC微机原理与接口技术8255工作方式一选通输入——A口(含时序图分析)方式一输出8255A只有A口工作在方式2输入两根握手线输出两根握手线中断允许有两个把输入输出加起来就是既可以输入也可以输出,而且可以查询中断双模式PC口都被占用方式一剩下两个还可以输入和输出PC口既可以在方式0的时候独立使用 ,还可以选通方式剩下读管脚输入输出...原创 2019-12-17 16:21:05 · 3190 阅读 · 0 评论 -
8255工作方式一A口和B口输出
北京交通大学戴胜华老师MOOC微机原理与接口技术8255工作方式一选通输入——A口(含时序图分析)输入输出是CPU向它发数据,把结果通过一条输出指令送到接口芯片发完数据告诉它输出缓冲器OBF满,表示有数据外设从A口收数据收完数据有个应答信号代表收到两种情况,一种向CPU申请中断,表示外设收到数据可以发下一个数据还有一种查询方式PC6...原创 2019-12-17 16:08:48 · 6587 阅读 · 0 评论 -
8255工作方式一选通输入——A口(含时序图分析)
北京交通大学戴胜华老师MOOC微机原理与接口技术7.3 并行接口8255A课件定性描述选通:有选择有甄别的让数据传输STB和IBF握手信号线,避免数据丢失PC几个口做联络信号,PA全部用来传输数据INTR还可以用中断的方式告诉CPU查询方式不用INTR即禁止中断INTEPC4同一个根地址线又分输入输出,输入的时候STB选通输入,输出的时候是INTE时序图外...原创 2019-12-17 15:47:47 · 4775 阅读 · 0 评论 -
80X86CPU独立编址方式的两种寻址方式——直接寻址直接写和间接寻址DX
直接寻址 :可寻址256个端口,编为00H–0FFHOUT 80H,AL IN AL,0FFH• 间接寻址: 使用16位地址码,从0000H- 0FFFFH,I/O端口地址用间接方式给出。MOV DX,1000HOUT DX,AL...原创 2019-12-17 14:40:38 · 1467 阅读 · 0 评论 -
汇编三星题:已知数组A包含20个互不相等的字型整数,数组B包含30个互不相等的字型整数,试编制一程序把在A中而不在B中出现的整数放于数组C中。
已知数组A包含20个互不相等的字型整数,数组B包含30个互不相等的字型整数,试编制一程序把在A中而不在B中出现的整数放于数组C中。DATAS SEGMENT BUFA DW 123BH,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 ORG 40H;40H处开始存放下一条指令的数据 BUFB DW 11,12,13,1...原创 2019-12-16 13:42:55 · 3158 阅读 · 2 评论 -
汇编考试一星题目对字母操作,输入字符并在屏幕上显示
将大写字母转为小写字母DATA SEGMENT BUF DB 0FFH DB ? DB 0FFH DUP(?) STROUT DB 0DH,0AH,0FDH DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA START:MOV AX,DATA MOV DS,AX ...原创 2019-12-16 12:17:23 · 338 阅读 · 0 评论