chapter4汇编语言程序设计
第四章汇编语言程序设计
4-1如果晶体振荡器为12Mhz,试着准备延时为2ms和1s的子程序。
4-2将20h单元中8位无符号数,转换成3为bcd码并存放在30h(百位)和31h(十位)
在单位里。
4-3将30h单元内的2个bcd数相乘,乘积位bcd数,并把乘积存放在31h单元。4-4试求21h和20h单元中16位带符号二进制补数码的绝对值,并送回20h和21h单元,
高云翔电视剧
高在先,低在后
快毕业了 4-5试求内部ram30h~37h单元中8个无符号数的算术平均值,结果存入38h单元。4-6试编一数据块搬迁程序。将外部ram2000h~204fh单元中的数,移入内部ram30h~7fh
在单位里。
4-7在内部ram的block开始的单元中有一无符号数据块,数据块长度存入len单元。试
编程以找到最小数量并将其存储在迷你单元中。
4-8在内部ram的block开始的单元中有一带符号数据块其长度存入len单元。试编程求
正数和负数的代数和分别存储在psum和msum指向的单位中。
4-9在内部ram的block开始的单元中有一无符号数据块,其长度存入len单元。试编程
vc2012
按升序重新排列,并将其存储在原始存储区域
4-10试编程将(r2r3)中的二进制数转换成bcd码,并存入r0指向的单元中。用除以10
幂商编程。
4-11试编程将r0指向的内部ram中16个单元的32个十六进制数,转换成ascii码并存
输入R1指向的内部RAM。
4-12在内部ram的one和two单元各存有一带符号x和y。试编程按下式要求运算,结果f存入func单元。
X+y如果X位正奇数X∧如果x位正偶数f=x,则为y∨ 如果x位负奇数x+y如果x位负偶数x如果x等于零
4-13设变量x存入var单元,函数f存入func单元,试编程按下式要求给f赋值。
1x>0
f=0x=0
课外书读书笔记摘抄
蜡笔小新的图片 -1x<0
4-14设变量x存入var单元,函数f存入func单元,试编程按下式要求给f赋值。1x≥20
f=020≥十、≥10
-1x<10
4-15尝试编程。根据R3 00h~0Fh的内容,切换到16个不同的分支,它们都在同一个2程序顺序存储器中
储器之内。
4-16试编程,根据R3内容00h~0Fh,切换到16个不同的分支,所有分支都在同一个2程序顺序存储器中
储器任何位置。
试着编译一个4字节的加载子程序load4。
功能:内部ram中4个单元内容装载到工作寄存器。入口:(r0)=低字节地址指针
10831 29406 29727 22338 29727 22508 2518 6191 28540 9405 11836 30847 11460 21944 25642 11460 1172 19153 24812 7343 14516 9070 31530 30009 22921 181 11638 13851 14952 18081 29618
功能:用指令movca,@a+pc求平方值(x<15)。入口:(a)=x出口:(a)=x*x
处女男性格分析
4-18尝试编译多字节右移子程序nrrc。功能:将N字节数右移一位(相当于除以2)。条目:(R0)=操作数高位字节地址指针(R7)=字节数n
出口:(r0)=操作数低字节地址指针4-19试编一多字节乘以10子程序mul10。功能:内部ram中的n字节数乘以10。入口:(r0)=操作数低字节地址指针
(R7)=字节数n
出口:(r0)=操作数高字节地址指针4-20试编一3字节数乘1字节数子程序mul4。功能:3字节数乘以1字节,乘积为4字节入口:(r0)=被乘数低字节地址指针(r2)=乘数
出口:(R1)=产品高字节地址指针
4-21试编一4字节数除以1字节数子程序div4。功能:4字节数除以1字节,商为3字节入口:(r0)=被除数低字节地址指针
(R6)=除数
出口:(r3r4r5)=商(r2)=余数
4-22将10h字符串从内部RAM的输入缓冲器inbuf传输到外部RAM的输出缓冲器EXBUF,直到满足回车符Cr或传输整个字符串
4-23内部ram从list单元开始存放一正数表,表中之数作无序排列,并以“-1”作结束标志.编程实现在表中找出最小数.
4-24求8个数字的平均值,这些数字存储在单元格的表中,从表开始
4-25把一个8位二进制数的各位用ascii码表示之(亦即为”0”的位用30h表示,为”1”的位用劲1h表示).该数存放在内部ram中byte单元中.变换后得到的8个ascii码存放在外部ram以buf开始的存储单元中去.
4-26个ASCII码字符中的最后一个非空格字符。字符串从外部ram8100h单元存储,以回车符(0dh)结束。通过编程实现搜索,搜索到的非空格字符的地址存储在内部RAM单元40H和41h中,其中高位字节放在41h单元中
4-27比较两个ascii码字符串是否相等.字符串的长度在内部ram41h单元,第一个字符串的首地址为42h,第二个字符串的首地址为52h.如果两个字符串相等,则置内部ram40h为00h;否
则404-28在外部ram首地址为table的数据表中,有10个字符的数据.编程将每个字节的最高位无条件地置”1”.
4-29在目的数据区内每隔一个单元将200字节的源数据区从8000h开始发送到4000H开始的数据区,如果是0dh(回车),则每两个单元写入一个数字,传输结束
4-20输入缓溃区inbuf存有80个字节,编程实现将其所有的组分隔符(1dh)的地址依次压入par栈中.
4-31将字符串从内部RAM缓冲区传输到外部RAM缓冲区。9dh结束时,将PSW的F0位设置为“1”;或者在发送128个字符后结束,PSW的OV位设置为“0”
4-32编写读取运行的定时器中计数器值并送led显示器显示的程序。可根据需要定义子程序。
4-33求16位有符号二进制补码的绝对值。假设补码放在内部RAM的num和num+1单元中,获得的绝对值仍放在原始单元中。
一周年纪念
4-34求16位补码数的原码。16位补码数放在内部ram的data和data+1单元中,转换后得到的原码仍放在原单元中。
4-35存储来自内部RAM 20h单元的一组有符号数字,字节数存储在1fh中。请统计大于0、等于0和小于0的数字,并将统计结果分别保存在一个、两个和三个单位中。从外部RAM中的barf开始,4-365个双字节存储在单元中。找到它们的总和,并从总和开始将总和存储在单位中。请编程。
4-37把外部ram中block1为首地址的数据块传送到内部ram以block2为首地址的单元中去,数据块的长度为n字节。
古代名医