随笔分类 - ASM
汇编学习点滴
摘要:一、实验要求 二、代码实现 assume cs:code,ds:data data segment db 16 dup(0) data ends code segment start: mov ax,0f000h mov ds,ax mov si,0ffffh ;ds:si指向f000:ffff m
阅读全文
摘要:一、实验要求 二、代码实现 1 assume cs:code,ds:data 2 3 data segment 4 db 'Welcome to masm!' 5 db 16 dup(0) 6 data ends 7 8 code segment 9 start: mov ax,data 10 mo
阅读全文
摘要:在80X86中,段寄存器和与其对应存放偏移地址的寄存器之间有一种默认组合关系。 fs,gs是80386起增加的两个辅助段寄存器,在这之前只有一个辅助段寄存器ES,增加这两个寄存器是为了减轻ES寄存器的负担,并能更好地配合适用于通用寄存器组的基址和变址寄存器.这两个是通用的段寄存器,语法上同其它的段寄
阅读全文
摘要:一、要求 ;编程计算1EF000H+201000H,结果放在ax(高16位)和bx(低16位)中 二、代码实现 1 assume cs:code 2 3 code segment 4 start: mov ax,001eh ;高16位 5 mov bx,0f000h ;低16位 6 add bx,1
阅读全文
摘要:一、实验要求 二、代码实现 1 assume cs:code,ds:data 2 3 data segment 4 db 10 dup(0) 5 data ends 6 7 code segment 8 start: mov ax,12666 9 10 mov bx,data 11 mov ds,b
阅读全文
摘要:一、实验要求 二、代码实现 1 assume cs:code,ss:stack 2 3 stack segment 4 dw 8 dup(0) 5 stack ends 6 7 code segment 8 start: mov ax,stack 9 mov ss,ax 10 mov sp,10H
阅读全文
摘要:一、实验要求 二、代码实现 1 assume cs:code,ds:data 2 3 data segment 4 db 'welcome to masm!',0 5 data ends 6 7 code segment 8 start: mov dh,8 ;定义行(0-24) 9 mov dl,3
阅读全文
摘要:一、要求 二、上机调试 1.debug调试开始,首先查看反编译后的汇编代码(假设ob38就是段地址1000) 2.执行第一条指令mov ax,6 3.执行第二条指令call ax,也就是call 6(我们知道,对于call 16位reg格式来说,相当于push ip;jmp 16位reg。) 执行了
阅读全文
摘要:一、实验要求: 在屏幕中间分别显示绿色、红底绿色、白底蓝色的welcome to masm! 属性字节格式: 7 6 5 4 3 2 1 0 含义: BL R G B I R G B 闪烁 背景色 高亮 背景色 R:红色 G:绿色 B:蓝色 绿色:0x03 红底绿色:0x24 白底蓝色:0x71 分
阅读全文
摘要:一、分析程序,在运行前思考:这个程序是否能够正确返回? 运行之后再思考:为什么是这种结果?通过这个程序加深对相关内容的理解。 1 assume cs:codesg 2 codesg segment 3 4 mov ax,4c00h 5 int 21h 6 7 start: mov ax,0 8 s:
阅读全文
摘要:一、如题: 1 assume cs:code 2 3 code segment 4 start: mov ax,2000h 5 mov ds,ax 6 mov bx,0 7 s: ? 8 ? 9 ? 10 inc bx 11 jmp short s 12 ok: mov dx,bx 13 14 mo
阅读全文
摘要:一、如题 assume cs:code,ds:data data segment dd 12345678H data ends code segment start: mov ax,data mov ds,ax mov bx,0 mov [bx],? mov [bx+2],? jmp dword p
阅读全文
摘要:一、如题: 1 assume cs:code,ds:data 2 3 data segment 4 ? 5 data ends 6 7 code segment 8 start: mov ax,data 9 mov ds,ax 10 mov bx,0 11 jmp word ptr[bx+1] 12
阅读全文
摘要:一、8086CPU的转移指令行为分类 jmp short 标号 (IP)=(IP)+8位位移 8位位移范围:-128~+127 jmp near ptr 标号 (IP)=(IP)+16位位移 16位位移范围:-32768~+32767 二、 原码, 反码, 补码的基础概念和计算方法 在探求为何机器要
阅读全文
摘要:一、需求 编程将data段中的数据按如下格式写入到table段中,并计算21年中的人均收入(取整),结果也按照下面的格式保存在table段中 二、代码实现 1 ;目的:寻址方式在结构化数据访问中的应用 2 ;编写:Tony 3 ;语言:asm 4 ;时间:2020.3.26 5 6 assume c
阅读全文
摘要:一、代码实现 1 ;目的:DIV指令练习 2 ;编写:Tony 3 ;语言:asm 4 ;时间:2020.3.26 5 6 ;要求:div计算datasg段中第一个数据除以第二个数据后的结果,商存在第三个数据的存储单元 7 8 assume cs:codesg,ds:datasg 9 10 data
阅读全文
摘要:一、代码实现 1 ;目的:寻址方式的综合应用 2 3 ;编写:Tony 4 ;语言:asm 5 ;时间:2020.3.25 6 7 ;修改信息: 8 ;1)Ken Olsen在富翁版上的排名已升至38名 9 ;2)DEC的收入增加了70亿美元 10 ;3)该公司的著名产品已变为VAX系列的计算机 1
阅读全文
摘要:假如我们用DEBUG查看内存单元中的内容是: 2000:1000 FF FF FF FF FF…… 那么指令: mov ax,2000 mov ds,ax mov byte ptr[1000],1 上机调试,准备数据: 调试结果: 则内存中的内容变为: 2000:1000 01 FF FF FF F
阅读全文