/assembly_learning

新手入门,每天提交一点点汇编学习demo

Primary LanguageAssembly

assembly_learning

新手入门,每天提交一点点汇编学习demo,暂时完成不再进行更新

base_demo:汇编语言基本框架

bx_demo:偏移地址

loop:循环语句格式

loop2:循环语句案例

segment_simple:将数据和栈存储在代码段中运行

segment_optimize:对segment_simple的优化,将代码段,栈段,数据段进行封装

segment_test:段的简化版demo

string:汇编存储字符,字符串

string_convert:字符串大小写字母转换

string_convert_optimize:字符串大小写转换利用[bx+idata]的方式优化

SI&DI:利用SI和DI将字符串复制到其后面的数据区

SI_optimize:利用[bx+idata]的方式优化SI&DI

double_array_simple:利用[bx+si]的方式实现二维数组,其中用寄存器来存储外循环cx

double_array_unit:对上面double_array_simple的优化,使用内存单元来来存储外循环cx

double_array_stack:对上面double_array_unit的再一次优化,使用栈段来存储外循环cx

div:除法简单使用的demo

div_ram:dd伪指令的介绍,除法与内存单元的联合使用 :(

review:数据读取存放复习案例

offset:利用offset获得偏移地址,实现指令复制

jmp:jmp跳转语句例子

jcxz:条件跳转语句jcxz例子

ret:ret跳转语句,利用栈中数据取出ip实现跳转

retf:retf跳转语句,利用栈中数据取出cs:ip实现跳转

call&ret:call与ret配合使用,实现函数调用

mul:mul指令实现乘法

call&ret demo:call与ret实现函数调用

div_function:除法溢出解决方案

abc:使用abc的带进位加法运算

cmp:cmp比较条件语句

cmp&jne:cmp与jne配合使用实现算术运算符的条件语句

movsb:movsb实现串传输

Interrupt:安装中断例程,让下面的Interrupt_call进行调用

Interrupt_call:调用自定义的中断例程