汇编
Afololer
这个作者很懒,什么都没留下…
展开
-
汇编冒泡排序,数组题
数组题cx应为长度-1二层循环要保存cx,si把数组中的0去掉,其他往前移动,最后面补0DATAS SEGMENT ;此处输入数据段代码 ar db 6,33H,30H,30H,33H,30H,33H,'$'DATAS ENDSSTACKS SEGMENT ;此处输入堆栈段代码STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS原创 2021-06-23 01:30:01 · 225 阅读 · 0 评论 -
汇编十进制输入输出详解,各种进制输入输出
注意:输入的是ascll码,'0’对应的是30H,减去30在寄存器存的才是0,如果输入不在范围内,不增加到寄存器获取输入’0’,30H之后的处理减去30H,如果是A~Z则减去55,因为’A’为41H,即65每次接收新一位数时,前面的数都应乘相应进制再加上新一位的数没有接收到回车时,2、3循环十六进制输入十进制输出(输入存在bx寄存器)DATAS SEGMENT ;此处输入数据段代码 num db 65,48,48,48,10 crlf db 10,13,'$'原创 2021-06-23 00:43:33 · 3404 阅读 · 0 评论 -
汇编寄存器,寻址方式,lea指令解释
常用的寄存器AX:主要用于算术运算,I/O指令都使用这一寄存器传递信息BX: 基址寄存器CX: 主要用于循环,移位指令的专用寄存器DX: I/O的输出如果端口大于255,用DX表示,有时存放乘除的结果SP、BP: 栈的变址寄存器,SP通常表示栈顶DI、SI: 也是变址寄存器,DI一般与ES段联用,SI一般与DS段联用PSW寄存器标志位C、S、O、Z:对应进位、负数、溢出、零DF:DF为0的时候串扫描是正向扫描IF: IF为0时不接受同级或低级的中断TF:TF为1时相当单步断点寻址方式原创 2021-06-22 19:56:53 · 2025 阅读 · 0 评论 -
汇编输入输出,ah调用例子
单字符的输入输出输入调用mov ah,1 功能为输入一个字符,这个字符存在al中,输入多个字符时也可以这样L1: mov ah,1 int 21H cmp al,10 ;换行 JZ exit JMP L1输出调用mov ah,2 把将输出的字符送到dl,然后调用输出例题 输入一个字符,如果是y,n则输出,是其他则重新输入DATAS SEGMENT ;此处输入数据段代码 DATAS ENDSSTACKS SEGMENT ;此处输入堆栈段原创 2021-06-21 20:22:01 · 1366 阅读 · 0 评论 -
汇编串扫描指令传送串匹配串
初始化源串地址位于DS:SI,目的串地址位于ES:DICLD则DF为0,正向扫描,STD则DF为1,反向扫描CX,扫描的个数常用指令REP+MOVSB(字节传送)/MOVSW(字传送)例子:把ds中的s1传送到es的s2DATAS SEGMENT ;此处输入数据段代码 s1 DB "happy"DATAS ENDSSTACKS SEGMENT ;此处输入堆栈段代码 s2 db 5 dup(?)STACKS ENDSCODES SEGMENT原创 2021-06-21 19:50:36 · 547 阅读 · 0 评论