汇编语言程序设计
文章平均质量分 60
汇编语言程序设计
Wonz
后端 -> 全栈 -> 后端
技术很菜,但一直在学习。
「人们会被自己热爱的事物改变」
展开
-
南邮《汇编语言程序设计》期末复习知识点梳理
个人整理的《汇编语言程序设计》知识点梳理请酌情食用~本文旨在梳理知识,具体内容还请回归 PPT 和 课本 。下面附赠几篇 孔姐姐 整理的详细知识点博客:南邮《汇编语言程序设计》期末复习 CH1:微型计算机基础南邮《汇编语言程序设计》期末复习 CH2:80x86 微处理器敬请期待~一、微型计算机基础二进制 B、八进制 O、十进制 D、十六进制 H、BCD码数制转换(重...原创 2018-12-04 10:31:32 · 4733 阅读 · 0 评论 -
error A2070:invalid instruction operands 错误原因
最近在做汇编的实验,经常遇到 error A2070:invalid instruction operands 这个错误,所以查了查资料,整理一下。一般情况下,出现这种情况,十有八九是 MOV 传值 的时候发生错误了。没有考虑 源操作数 和 目标操作数 的长度匹配的问题。一般,加个 PTR 就能解决问题。就是这么简单!下面附上一个我的例子。ADD [BX+7],30H运行的时候,就...原创 2018-10-16 00:08:48 · 27114 阅读 · 0 评论 -
用BIOS的13号功能,显示彩色字符
题目:在屏幕左上角显示HELLO—黑底灰白字符;在屏幕中央显示I AM A STUDENT—红底白字。程序:.586DATA SEGMENT USE16MESG1 DB 'HELLO $'MESG2 DB 'I AM A STUDENT'LL EQU $-MESG2DATA ENDSCODE SEGMENT USE16 ASSUME CS:CODE ASSU...原创 2018-06-15 19:51:42 · 2023 阅读 · 0 评论 -
询问姓名,等待用户输入姓名,回车后把输入的姓名显示在屏幕上
题目:询问用户姓名,并等待用户键入,用户输入姓名后敲击回车键,程序再把键入的姓名复制在屏幕上。程序:DATA SEGMENT USE16 MESG DB 0DH,0AH DB 'What is your name ?$' ;一共9个字符BUF DB 30 ;程序员预置可容纳的字符个数(包括回车符) DB ? ;随机值 ...原创 2018-06-15 19:13:11 · 3368 阅读 · 0 评论 -
调用 DOS 的 9 号功能,在屏幕上输出:I AM A STUDENT!
题目:在屏幕上输出:I AM A STUDENT!分析:将'I AM A STUDENT!'定义在数据段,并在'!'后加一个字符'$',利用9号DOS功能调用,即可完成显示。程序:.486DATA SEGMENT USE16 ;定义数据段MESG DB 'I AM A STUDENT!','$'DATA ENDSCODE SEGMENT...原创 2018-06-15 15:45:14 · 7111 阅读 · 0 评论 -
Hello World!
接触汇编语言的第一个程序:Hello Wold!程序:;完整段的Hello World程序DATA SEGMENT STRING DB 'Hello World!',13,10,'$'DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV D...原创 2018-06-15 14:50:03 · 607 阅读 · 2 评论 -
加法程序实现 46H+52H,并将结果放入SUM
应该是除了汇编语言的"Hello Word"程序之后,接触的第二个程序。题目:加法程序实现46H+52H,并将运算结果存放在数据段变量SUM中。程序:.586DATA SEGMENT USE16SUM DB ? ;数据区DATA ENDSCODE SEGMENT USE16ASSUME CS:CODE,DS:DATABEG: MOV AX,DATA...原创 2018-06-15 14:46:07 · 1105 阅读 · 0 评论 -
初步认识原码、反码和补码
这学期开了一门《微型计算机原理与接口技术》,老师在第一节课讲了一点原码、反码和补码的内容。留了两个小问题给我们课后完成:在8字节下,(1)原码、反码和补码的表示范围是多少 ? (2)0有几种表示方式?在上网查了一些资料后,我对此有了一些认识,现决定记录下来。初次写技术博客,如有不妥,还请多多包涵。真值数和机器数真值数就是用符号'+' '-'表示的数,机器数就是把真值数的'+'改为0,把...原创 2018-02-27 21:02:13 · 817 阅读 · 0 评论 -
南邮《汇编语言程序设计》期末复习 CH1:微型计算机基础
本文转载自厉害的 孔姐姐 的 博客 。由一只孔姐姐的小迷弟负责排版和整理~一、冯·诺依曼体系注意 5 个部件:存储器、运算器、控制器、输入系统、输出系统。二、数制1.常见数制二进制 B 、十进制 D、十六进制 H、BCD 码。注意 16 进制与 BCD 码的 区别 :BCD 码实质是十进制数,只是采用二进制数对 0-9 进行编码,所以会出现非法码。BCD 码的 加减规则 :...转载 2018-12-03 22:38:50 · 2002 阅读 · 2 评论 -
南邮《汇编语言程序设计》期末复习 CH2:80x86 微处理器
本文转载自厉害的 孔姐姐 的 博客 。由一只孔姐姐的小迷弟负责排版和整理~一、常用术语1.位和字节位:计算机所能表示的最小的、最基本的数据单位字节:由 8 个位组成2.字长:一次可以直接处理的二进制数码的位数与 通用寄存器的位数、数据总线的宽度 有关注意一下,通用寄存器。以后会提到。“宽度”,有多少根数据总线3.寻址能力:CPU 能直接存取数据的内存地址的范围...转载 2018-12-03 23:29:40 · 1561 阅读 · 3 评论 -
南邮汇编 Homework3.8 拼装字节
第三章作业 P131 页第 8 题。题目把 AH 低四位和 AL 低四位拼装成一个字节(AH 低四位为拼装后的高四位)→AH。代码核心代码SHL AH,4AND AL,0FHOR AH,AL全部代码.586DATAS SEGMENTDATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MO...原创 2018-10-29 22:08:46 · 949 阅读 · 0 评论 -
南邮汇编实验3.18:用户登录验证程序的实现
题目:程序执行后,给出操作提示,请用户输入用户名和密码;用户在输入密码时,程序不回显输入字符;只有当用户名输入的用户名、密码字符串和程序内定的字符串相同时,才显示欢迎界面,并返回DOS。界面颜色自定(彩色或黑白)。程序清单:DATA SEGMENT USE16MESG1 DB 0DH,0AH DB 'Please enter your username:$'LL EQU...原创 2018-11-14 20:52:23 · 19556 阅读 · 4 评论 -
南邮汇编实验1.2:排除语法错误
题目:下面给出的是一个通过比较法完成8位二进制数转换成十进制数,送屏幕显示功能的汇编语言源程序,但有很多语法错误。要求实验者按照原样对源程序进行编辑,汇编后,根据MASM给出的错误信息,对源程序进行修改,直到没有语法错误为止。然后进行链接,并执行相应的可执行文件。正确的执行结果是在屏幕上显示25+9=34。程序清单:;FILENAME EXA131.ASM.486DATA SEGME...原创 2018-11-14 20:52:26 · 17212 阅读 · 7 评论 -
寻址方式
临近期末,借着复习的机会把大二下学的《微型计算机原理与接口技术》这门课整理一下笔记。操作数存在方式:操作数包含在指令中,这种操作数称为立即数。例如:MOV AX,1234H 操作数存放在CPU的某个寄存器中,这种操作数称为寄存器操作数。例如:MOV DS,AX 操作数存放在存储器中,这种操作数称为存储器操作数(内存操作数)。例如:MOV AX,DS:[2000H] 操作数存放在I/O...原创 2018-06-15 13:00:37 · 5656 阅读 · 2 评论 -
南邮汇编 Homework3.12 串操作
第三章作业 P132 页第 12 题。题目编写程序把内存中物理地址 12345H 开始的 1KB 个单元转送到 23456H 开始的内存区。代码 MOV AX,1234H MOV DS,AX MOV SI,0005H MOV AX,2345H MOV DS,AX MOV DI,0006H MOV CX,400H CLDA...原创 2018-10-29 22:09:48 · 873 阅读 · 2 评论 -
南邮汇编 Homework3.5 数据互换
汇编之前有次布置的课后作业,动手敲了下代码,现在记录一下。题目3.5已知数据段有:FIRST DB 12H, 34HSECOND DB 56H, 78H(1)要求采用传送指令编写一段程序,实现 FIRST 和 SECOND 单元的内容互换, FIRST + 1 单元和 SECOND + 1 单元的内容互换。(2)设 (SS) = 2000H,(SP) = 3456H,用...原创 2018-10-29 22:07:38 · 2213 阅读 · 0 评论 -
南邮《汇编语言程序设计》期末复习 CH4:汇编语言程序设计
本文转载自厉害的 孔姐姐 的 博客 。由一只孔姐姐的小迷弟负责排版和整理~一、汇编语言程序结构.486 ;处理器选择伪指令 DATA SEGMENT USE16 ;段定义伪指令,定义数据段 ... DATA ENDS CODE SEGMENT USE16 ;段定义伪指令,定义代码段 ASSUME CS:CODE...转载 2018-12-07 18:21:28 · 2161 阅读 · 0 评论 -
南邮《汇编语言程序设计》往年试题及答案解析
期末复习的时候老师给的一套往年的试题以及答案。上传一下,供大家做做真题,找找感觉~一、真题二、答案三、个人做完感觉选择第二题:判断指令格式合法填空第四题:存储空间知识点没记牢填空第六题:修正指令简答第三题:多背背简答第四题:6 种状态标志要记牢程序填空第二题:DOS 功能号记牢,哪一个是输出字符串编程题:前面的段定义要记牢,进制转换多看看书上例...原创 2018-12-07 20:55:40 · 8395 阅读 · 3 评论 -
南邮《汇编语言程序设计》知识点查缺补漏及重点、难点分析
一轮复习完,差不多把买的资料全刷完了,发现刷的时候还有很多知识点没有复习到,或者没有复习扎实,记录一下,算是查缺补漏吧。指令格式合法:MOV、PUSH、POP 16/32位传送类指令:不影响 6 个状态标志段内返回指令:栈顶→IP SP+2→SP段间返回指令:①栈顶→IP SP+2→SP ②栈顶→CS SP+2→SP堆栈:SS、...原创 2018-12-07 21:05:24 · 734 阅读 · 0 评论 -
南邮《汇编语言程序设计》2018/2019 学年第一学期期末考试回忆
2018.12.8 13:30-15:20 《汇编语言程序设计》考试刚考完,回忆一下题目。先总结一下:感觉考得还是蛮细的,主要自己复习时间也不多,全凭上学期学过一遍的记忆和笔记复习的。一、选择题有一题是八位补码表示二进制数,有 6 个 1 ,2 个 0,让你选真值最小的。感觉这题还是蛮有意思的,把四个选项都算一遍原码、反码、补码,就能找到答案啦。然后有道原题,就是:...原创 2018-12-08 20:25:37 · 4076 阅读 · 1 评论 -
南邮 | 汇编实验 2.10:找到最小值,并将负数个数以十进制输出,同时输出最小值
题目从数据段NUM单元开始存有9个有符号数,编写一个程序实现:找出最小值存放到数据段MIN单元,并将负数的个数以十进制数的形式显示在屏幕上,并同时输出负数。程序清单 ;.586DATA SEGMENT USE16NUM DB 2,45,-33,4,-2,5,-8,0,9MIN DB ?DATA ENDSCODE SEGMENT USE16 ASSUME CS:COD...原创 2018-12-08 20:39:56 · 4263 阅读 · 1 评论 -
南邮 | 汇编实验 3.17:用户键入“通行字”,显示欢迎界面
题目程序执行后,给出简单明了的操作提示,请用户键入“通行字”,按回车表示通行字键入结束。只有当用户键入的字符串和程序内定的字符串相同时,显示欢迎界面,程序返回DOS,否则请用户重新键入“通行字”。(参见实验指导书P.44 实验3.17)程序清单DATA SEGMENT USE16BUF DB 4 DUP(?)Notation DB 'Please enter your tongx...原创 2018-12-08 20:41:37 · 3761 阅读 · 0 评论 -
南邮《汇编语言程序设计》期末复习 CH3: 汇编语言指令集
本文转载自厉害的 孔姐姐 的 博客 。由一只孔姐姐的小迷弟负责排版和整理~一、基本概念1.指令:单个的 CPU 操作,通知 CPU 执行某种操作的 “命令”指令集:所有指令的集合机器指令:用二进制序列(0、1)代码书写。硬件只能识别、存储和运行机器指令符号指令:用字符串形式的序列(包含字符串形式的操作码、操作数)2.指令的组成:操作码 + 操作数指令长度:...转载 2018-12-06 20:09:21 · 4143 阅读 · 2 评论