
汇编学习
qq_25205059
学习技术,分享经验,南无大至势菩萨
展开
-
第1部分 DOS及DEBUG介绍
一、课程简介1.1 课程说明本课程基于《汇编语言(第2版)》郑晓薇 编著,机械工业出版社,可以配合该教材使用。本课程由郑晓薇授权制作,提取教材中的实例以及实验内容,可以在实验楼环境中完成所有实例及实验。实验课程制作符合教材原版实例驱动教学以及实验训练贯穿始终的特点。本教材可在当当网http://search.dangdang.com/?key=%BB%E3%B1%E0%D3%EF%D1%D...转载 2019-03-25 13:03:22 · 648 阅读 · 0 评论 -
实践!C语言是怎么变成汇编的
在大学计算机组成原理一课中学习各种汇编语言跟C语言的关系,同时在单片机接口技术中也学习了C51的汇编语言,在一些MCU调试中也看到了反汇编的内容。但是从来没亲自实践一下C语言是怎么变成汇编的过程以及他们之间的对应关系。作为作业今天就在这里写下我的发现吧。按照要求这是一段很简单的c语言程序进行编译生成汇编文件生成的main.s文件 已经把多余的命令删除了(gvim好像确实没vim好用。。...转载 2019-04-22 13:30:42 · 950 阅读 · 0 评论 -
MOV指令是数据传送指令
在汇编语言中,MOV指令是数据传送指令,也是最基本的编程指令,用于将一个数据从源地址传送到目标地址(寄存器间的数据传送本质上也是一样的)。其特点是不破坏源地址单元的内容。例如:MOV AX,2000H;将16位数据2000H传送到AX寄存器MOV AL,20H;将8位数据20H传送到AL寄存器MOV AX,BX;将BX寄存器的16位数据传送到AX寄存器MOV AL,[2000H...转载 2019-04-22 13:42:04 · 6539 阅读 · 2 评论 -
汇编语言之寻址方式
1 固定寻址(inherent addressing )特定的单操作数指令,操作数隐含在操作码中,在固定寻址的指令中,操作数被隐含在指令中,不需要执行总线周期,执行速度快例子:1.1 CBW命令,将AL中的符号位扩展到AH中,形成16位的操作数。比如AL中的符号位是1,则执行CBW命令后,AH则变成FF,如果符号位是0,则AH则变成001.2 PUSH AX ,源操作数是寄存器AX...转载 2019-04-22 13:57:33 · 2035 阅读 · 0 评论 -
汇编指令lea取偏移地址
LEA是微机8086/8088系列的一条指令,取自英语Load effect address——取有效地址,也就是取偏移地址。在微机8086/8088中有20位物理地址,由16位段基址向左偏移4位再与偏移地址之和得到。 取偏移地址指令 指令格式如下: LEA reg16,mem LEA指令将存储器操作数mem的4位16进制偏移地址送到指定的寄存器。这里,源操作数必须是存储器操作数,目标操...转载 2019-04-22 14:05:40 · 4064 阅读 · 0 评论 -
汇编指令和机器码的对应表
一、状态寄存器PSW(Program Flag)程序状态字寄存器,是一个16位寄存器,由条件码标志(flag)和控制标志构成,如下所示:15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OF DF IF TF SF ZF AF PF CF条件码:①OF(Overflow Flag)溢出标志。溢出时为1,否则置0。②SF(Sign ...转载 2019-04-22 21:33:16 · 1237 阅读 · 0 评论 -
输出数组下标和元素值
#include <stdio.h>int main(){ int a[5] = {7,6,5,4,3};//定义数组 int i; for(i = 0; i < 5; i ++)//循环执行五次,输出每个下标值,及数组元素值。 printf("a[%d]=%d\n", i, a[i]); retu...转载 2019-05-09 23:11:13 · 6423 阅读 · 1 评论 -
自制操作系统1 dd 命令
在linux下制作iso文件:输入dd if=/dev/cdrom of=./test.isoif指的是input file,意思就是输入文件of指的是output file,输出文件制作启动盘dd if=boot.img of=/dev/fd0 bs=1440kif=文件名:输入文件名,默认为标准输入。即指定源文件。 of=文件名:输出文件名,默认为标准输出。即指定目的...原创 2019-10-08 23:06:53 · 529 阅读 · 0 评论