导图社区 汇编程序Hello World
汇编程序的作用是把汇编语言源程序翻译成为机器代码,产生二进制格式的目标文件(Object File) 在DOS中输入以下命令: MASM HELLO.ASM 连接就是使用连接程序LINK...
这是一篇关于番茄工作法花树图,间歇工作的总体效率高于连续工作,休息和工作交替进行。希望对你的工作效率有所帮助!
关于TK类电机设计审核思维导图,MacTK类电机的设计审核是一个全面评估电机性能、可靠性、成本等各方面要求的过程。
这是一篇关于设计心理学思维导图,包含日用品中的设计问题、日常操作心理学、设计中的挑战等。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
汇编程序Hello World
开发环境
Masm for Windows
初始化
assume关键字
假设某个段寄存器和程序中segment...end的段相关
assume cs:code,ds:data
1
data segment data ends
3,5
需要把标记data的数据段地址赋给ds段寄存器
mov ax,data mov ds,ax
不能把一个常数直接赋给段寄存器
用通用寄存器中转
9~10
代码段地址CPU会自己获得
代码段偏移地址
start: ....... end start
08-28
如何定义变量
db指令
定义字节内容
label db initializer,initializer,initializer
lable 标号,相当于变量名
initializer 初始值
msg db "hello world"
内存访问
如何获取数据段定义的msg的每个字符
18-19
段地址+偏移地址
数据段地址:ds寄存器
ds:[0]
ds:[si]
si寄存器相当于一个通用寄存器
14,15,21,22
al与ah寄存器
8086为了兼容8088
AX可以当作两个8位寄存器
AL
AH
BX,CX,DX寄存器同理
18,19,16,20
loop关键字
把定义的字符一个个拷贝到显存缓冲区
语法
标号: 指令1 指令2 …… loop 标号
循环次数
由CX通用寄存器的值决定
13
14,15,17-23
输出到屏幕
把自己拷贝到显存地址空间
11-12
显卡会自动显示上去
VGA显存地址空间
B8000H~BFFFFH共32K的地址空间
缓存分8页,每页4K
显卡可以显示任意页
一般显示第0页
80*25彩色字符模式(VGA)显示缓存区
可以显示25行80列
一个字符在显存占两个字节
ASCII码
字体属性
21
256种字体属性
向该地址写入数据,就可以显示到屏幕中
格式
16
红底绿字
01000010B
黑底白字
00000111B
中断
mov ax,4c00h int 12h
CPU对设备进行交互
对设备的存储器进行读写
PC机的内存分配空间