汇编程序大全(求汇编语言完整程序,谢谢!)
本文目录
求汇编语言完整程序,谢谢!
在屏幕上显示1234的代码如下:CSEG SEGMENTassume cs:CSEG MAIN PROC FAR ;主程序入口 ;此处添加主程序代码 mov bx,1234h mov ch,4rotate: mov cl,4 rol bx,cl mov al,bl and al,0fh add al,30h cmp al,3ah jl printit add al,7hprintit: mov dl,al mov ah,2 int 21h dec ch jnz rotate ;按任意键退出 mov ah,1 int 21h mov ax, 4c00h;程序结束,返回到操作系统系统 int 21hMAIN ENDPCSEG ENDSEND MAIN
单片机汇编程序
一楼已经回答了许多,我再补充一下吧。MOVC A,@A+DPTR 为什么A加1就查找地址的高八位,A不是0-127么?DW 是双字节,即一个数据占两个字节,(先放低八位,后放高八位)这句: RLC A是给A乘了2,这样查表时就一致了。INC A是给A加一,所以对应的是本数据的高八位。 LOW:MOV R3,A MOVC A,@A+DPTR ;取的是低八位地址数据 PUSH A MOV A,R3 INC A MOVC A,@A+DPTR ;取的是高八位地址数据 PUSH A RETJNC LOW 的时候若C=1,则执行INC DPH,执行完这条指令后是继续往下执行呢,还是到这就结束了? 我指的是C=1的时候?继续往下执行。A不是0-127么?加1不是变成1-128么,那就不能查找地址的高八位了。A的范围是0到255.加1不是变成1-128么,那就不能查找地址的高八位了。注意这两句: JNC LOW INC DPHA要是乘2 溢出,说明低位地址已满,DPTR高八位要加一。所以C置一;执行INC DPH。
汇编程序的分类
高级汇编程序 采用高级程序设计语言的控制语句结构的汇编程序。它不仅保持汇编语言表达能力强、程序运行效率高的优点,而且能充分吸收高级语言书写简单和易读的长处。这是由于高级汇编程序允许用户使用高级程序设计语言的控制语句(如条件语句、循环语句、函数和过程)编写程序中的控制部分,而且还允许用户直接利用汇编语言直接控制存储分配、存取寄存器硬件,描述高级语言难于表达的算法。第一个高级汇编程序是N.沃思为IBM360系统研制的PL/360语言汇编程序,其特点是程序的控制部分采用高级语言的控制语句编写,而数据加工部分采用IBM360汇编指令编写。自此以后,又相继出现了类似ALGOL的汇编程序,类似FORTRAN的汇编程序FAT。
求单片机汇编程序
;AT89S52单片机当按钮按下后,灯1,灯2亮;灯1定时3秒后灯灭,灯2定时5秒后灭;汇编程序如下: ORG 0000H LJMP START ORG 000BH LJMP T0_INT ORG 0030HSTART: MOV TMOD, #01H MOV TH0, #0BH MOV TL0, #0DCH MOV IE, #82H;----------------------LP1: JB P1.7, $ DJNZ R7, $ DJNZ R6, $ - 2 JB P1.7, LP1 JNB P1.7, $ SETB TR0 MOV R2, #48 MOV R3, #80 CLR P1.1 CLR P1.2 SJMP LP1;----------------------T0_INT: MOV TH0, #0BH MOV TL0, #0DCH DJNZ R2, T0_1 SETB P1.1T0_1: DJNZ R3, T0_END SETB P1.2 CLR TR0T0_END: RETI;----------------------END
单片机 汇编程序
ORG 0000H;以下汇编代码存放到ROM的0000H开始的连续单元内(主程序入口)LJMP START;转主程序ORG 001BH;以下汇编代码存放到ROM的001BH开始的连续单元内(中断服务程序入口)KKKK:INC A;A加1CJNE A,#100,KKKK;没有加到100转KKKKRETI;加到100中断返回ORG 0030H;主程序START:MOV TMOD #50H;设置T1方式1计数REPEAT: MOV TH1, #73H;MOV TL1, #98H;设置定时初值(50ms)MOV IE #82H;开中断,允许T1溢出中断SETB TR1;启动T1计数LOOP:JNB TF1,$;等待溢出中断CLR TF1;清T1溢出中断标志位MOV TH1, #73HMOV TL1, #98H;设置定时初值(50ms)SJMP LOOP;循环继续 END;汇编结束
汇编语言程序
1,主程序从键盘输入一个8位的2进制数,对其求求补操作,用子程序对求补后的值以2进制形式显示 CODES SEGMENT ASSUME CS:CODES START: mov bl,0 mov cx,8loop1: clc mov ah,1h int 21h cmp al,’0’ jz rotate stc rotate: rcl bl,1 dec cx jnz loop1 print: neg bl mov dl,0dh mov ah,2h int 21h mov dl,0ah int 21h mov cx,8 clcloop2: rcl bl,1 jnc dis0 mov dl,’1’ jmp displaydis0: mov dl,’0’ display: mov ah,2h int 21h dec cx jnz loop2exit:MOV AH,4CH INT 21H CODES ENDS END START2,主程序从键盘输入两个四位的十六进制数A和B,用子程序作16进制计算A+B,并显示计算结果(考虑进位,即CF) DATAS SEGMENT str1 db ’in put a num:$’ str2 db ’the result is:$’ str0 db 0dh,0ah,’$’ DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASprints proc mov ah,9h int 21h call getnum push cx mov dx,offset str0 mov ah,9h int 21h pop cx retprints endp getnum proc ;cx mov cl,4 mov ch,4 xor bx,bxinput: mov ah,1h int 21h cmp al,39h js loop1 sub al,7hloop1: mov ah,0 sub al,30h shl bx,cl or bx,ax dec ch jnz input mov cx,bx retgetnum endpdisplaynum proc ;bx lea dx,str2 mov ah,9h int 21h mov cl,4 mov ch,4 jnc dis mov dl,’1’ mov ah,2h int 21h dis: rol bx,cl mov dl,bl and dl,0fh cmp dl,10 js lop1 add dl,7hlop1: add dl,30h mov ah,2h int 21h dec ch jnz dis retdisplaynum endpSTART: MOV AX,DATAS MOV DS,AX lea dx,str1 call prints mov ax,cx push ax lea dx,str1 call prints pop ax add ax,cx mov bx,ax call displaynum MOV AH,4CH INT 21HCODES ENDS END START
更多文章:
office2010官方下载免费完整版(计算机考试用的办公软件下载office2010免费下载地址)
2024年9月6日 15:20
office2003兼容包官方(本人安装的是office2003和office2007兼容包,以前可以打开xlsx文件,现在不行了)
2024年7月16日 09:31
中央气象台天气预报下载(怎样下载中国气象论坛怎样下载带有气压的天气预报)
2024年4月2日 10:27
网页游戏错误代码-999是什么意思啊?英雄联盟进入游戏界面有个小黄点999是什么意思
2024年3月18日 01:05
lol重新连接不上(请问lol游戏终止之后,无法重新连接是为什么)
2024年5月10日 21:53
遨游中国2豪车版下载(谁有中国卡车模拟6:遨游中国2的下载地址 要官方的,好的话我有重赏!!谢谢了!!)
2024年4月13日 10:20
猎豹免费wifi电脑版怎么用(猎豹免费wifi遥控电脑怎么用)
2024年7月23日 23:48
手机qq2013旧版本下载(苹果手机QQ更新了,怎么样换回旧版)
2024年5月17日 01:45