汇编语言冒泡排序
# 汇编语言数组排序
#### 题目要求:
对输入的多个数字进行排序。
要求:
* 所有数字从键盘输入;
* 数字中至少包含一个大于 10 的数字;
* 排好序的数字以十进制形式在屏幕显示输出。
#### 代码:
```assembly
;-----数据段------------
DATAS SEGMENT
string_1 DB 'Please input 10 numbers(0-65536):', ...
汇编语言学号姓名查找
汇编语言子串查找
题目要求:
在字符串中查找自己的学号和姓名,并返回地址。
在存储空间定义字符串,该字符串中含有自己的学号和姓名(拼音),这两个部分不能相邻,如:
String db “***”,“1502031001”,“***”,“zhang san”,“***”
要求:在屏幕中显示这两个字符串的偏移地址,并显示学号和姓名。
代码: ...
汇编语言成绩汇总
汇编语言成绩汇总
题目要求:
对输入的一些成绩进行分类汇总。
要求:
所有数字由键盘输入;
输入的成绩个数为任意个(至少 10 个);
对成绩进行归类并输出显示在屏幕:
显示最高成绩、最低成绩、平均成绩(平均成绩保留一位小数)
显示 90-100 分人数,80-89 分人数,70-79 分人数,60-69 分人数,低于 60 分 ...
汇编语言第一次试验
汇编语言第一次实验
1.实验任务1
使用masm,link得到8086汇编可执行程序及运行程序方法。
操作截图:
2.实验任务2
PC机主板上的ROM中有一个生产时期,在内存FFF00H ~ FFFFFH的某几个单元中,请找到这个生产时期,并试图修改它。
1、在debug中,使用d命令查看生产日期
操作截图:
使用d命令得到生产日期为92/01/01。
2 ...
汇编语言实验一
实验任务一
1.教材实验一
(1)
通过A命令将汇编语言输入内存
用R cs和R ip将cs:ip指针指向第一条程序的位置073F:0100,接着用T命令逐条执行命令
(2)
将指令输入内存并且调整cs:ip指针
重复执行若干次后得到0100即256
(3)
用D命令查看内存
发现日期为92年1月 ...
汇编语言学习笔记(3)——指令系统
1、指令概述
指令:通知 CPU执行某种操作的“命令” , CPU全部指令的集合,称为指令系统
指令的书写格式
目标指令(机器指令)格式为:二进制形式的序列(即:一串0,1代码)。注意:硬件只能识别,存储,运行目标指令
符号指令:用规定的操作码和操作数助记符, 按照规定的书写格式书写的指令,格式为: ...
汇编语言实验一
实验结论
任务1
安装DosBox
百度下载DosBox安装,打开界面如下,默认装载c盘下MYDEBUG作为当前目录。
-
百度下载MASM文件,将文件夹中的**MASM.EXE** **LINK.EXE**两个文件复制到MYDEBUG文件夹中就可以直接在DosBox中使用。
任务2
在debug中,使用d命令查看生产日期
使用e命令修改生产时期所在的内存单元,修改后,再次 ...
[汇编]《汇编语言》第17章 使用BIOS进行键盘输入和磁盘读写
王爽《汇编语言》第四版 超级笔记
目录王爽《汇编语言》第四版 超级笔记第17章 使用BIOS进行键盘输入和磁盘读写17.1 int 9中断例程对键盘输入的处理17.2 使用int 16h中断例程读取键盘缓冲区17.3 字符串的输入17.4 应用int 13h中断例程对磁盘进行读写
第17章 使用BIOS进行键盘输入和磁盘读写
大多数有用的程序都需要处理用户 ...
C与汇编语言混合编程
一、在Keil上调用使用C语言调用汇编程序
在前面的博客中,我们已经熟悉了Keil中创建项目和keil的一些简单使用,参考链接:https://www.cnblogs.com/LinZJ0423/p/15357620.html
构建代码
tets.s中的代码:
AREA My_Function,CODE,READONLY
EXPORT Init_1
Init_1
MOV R1,#666
MOV ...
x86汇编语言学习记录
## x86汇编语言学习记录
0x00 前置知识
有一定编程基础(会点C,java,C++,python等)。理解信息在不同地方,意义可能不同(同一段信息,我们可能将其看成数据,也有可能看成指令)。
0x01 学习教材及其他资源推荐
《汇编语言》王爽著,清华大学出版社出版书籍。该书通俗易懂,理论和实践紧密结合,编者也十分幽默 ...
汇编语言指令大全 X86和X87汇编指令大全(带注释)
目录一、数据传输指令1. 通用数据传送指令.2. 输入输出端口传送指令.3. 目的地址传送指令.4. 标志传送指令.二、算术运算指令三、逻辑运算指令四、串指令五、程序转移指令六、伪指令七、处理机控制指令:标志处理指令浮点运算指令集1、控制指令2、数据传送指令3、比较指令4、运算指令其它1.机械码,又称机器码.2.需要熟 ...
汇编语言:x86汇编指令大全及其注意事项
目录Part 1:instructionPart 22.1 (逻辑)运算、移位等常用指令2.1 (逻辑)运算、移位等常用指令2.2 循环移位指令2.3 数据串操作指令2.4 逻辑运算指令2.5 基于大小关系的跳转指令2.6 基于单标志位的转移指令Part 1:instruction
积少成多,持续更新。(这将会是一个极其漫长的过程)
表格中各条指令的顺序根据笔者所认为的 ...
x86汇编语言——开启分页机制
分页机制
分页从功能上来说,就是用长度固定的页来代替长度不一定的段
简单分页模型
在单纯的分段模式下,线性地址就是物理地址 采用页式内存管理,就应当把4GB内存分成大小相同的页。页的最小单位是4KB,也就是4096字节,用十六进制数表示就是0x1 ...
x86汇编语言——任务隔离和切换
任务
之前的程序将初始化段,内核段和用户程序段描述符都存储在GDT中,而处理器建议每个任务都应当有自己的描述符表,称为局部描述符表LDT(local descriptor table) LDT不止一个,处理器使用局部描述符表寄存器LDTR追踪和访问LDT,LDTR只有一个并 ...
HLA汇编语言
在网上找到答案:
用高级汇编编译程序HLA对《汇编语言编程艺术》一书随书源码中的例子程序helloworld进行编译时,
提示polink:warning: /SECTION:.bss ignored; section is missing,其他的例子也是这样的提示,
有这个警告,但程序编译后可以得到.exe文件,能够正常运行,结果正确,
warning提示是什么意思?
  ...
x86汇编语言——程序加载和硬盘访问
启动过程
CPU的多个引脚中,有一个RESET用于接收复位信号,当处理器加点或者RESET引脚电平由低到高时,处理器汇之星硬件的初始化。
对于8086来说,开机加电复位后,寄存器重置,CS被置位0xFFFF,其余寄存器被置位0x0000(8086之后的处理器并未延续) ...
汇编语言:实验十三 编写、应用中断例程
第Ⅰ部分
1.编写并安装int 7ch中断例程,功能为显示一个用0结束的字符串,中断例程安装在 0:200处。 参数:(dh)= 行号,(dl)= 列号,(cl)= 颜色,ds:si指向字符串首地址。
Solution
第一部分实验与汇编语言:实验十二 编写0号中断的处理程序类 ...
[汇编]《汇编语言》第15章 外中断
王爽《汇编语言》第四版 超级笔记
目录王爽《汇编语言》第四版 超级笔记第15章 外中断15.1 接口芯片和端口15.2 外中断信息15.3 PC机键盘的处理过程15.4 编写int 9中断例程15.5 安装新的int 9中断例程
第15章 外中断
以前我们讨论的都是CPU对指令的执行。我们知道CPU在计算机系统中,除了能够执行指令,进行运算以外,还应该 ...
[汇编]《汇编语言》第14章 端口
王爽《汇编语言》第四版 超级笔记
目录王爽《汇编语言》第四版 超级笔记第14章 端口14.1 端口的读写14.2 CMOS RAM芯片14.3 shl和shr指令14.4 CMOS RAM中存储的时间信息
第14章 端口
我们前面讲过,各种存储器都和CPU的地址线、数据线、控制线相连。CPU在操控它们的时候,把它们都当作内存来对待,把它们总地看做一个由若干 ...
汇编语言:实验十 编写子程序
实验10 编写子程序
这次实验需要编写三个子程序,通过它们来认识几个常见的问题和掌握解决这些问题的方法。
1.显示字符串
问题
子程序描述
提示
Solution
跟之前的文章的风格相似,都是用王爽老师原书中的描述,在完成第一个程序之前,需 ...