社区
汇编语言
帖子详情
汇编小题
dikong
2008-10-20 11:57:17
大家帮忙编个小程序,用汇编语言!
1.编一个程序,统计一个8位二进制数中的为“1”的位的个数。
2.利用变址寄存器,编一个程序,把1000H单元开始的100个数传送自1070H开始的存储区中去。
由于刚学汇编语言,好多不懂,请大家多帮帮忙!
...全文
135
7
打赏
收藏
汇编小题
大家帮忙编个小程序,用汇编语言! 1.编一个程序,统计一个8位二进制数中的为“1”的位的个数。 2.利用变址寄存器,编一个程序,把1000H单元开始的100个数传送自1070H开始的存储区中去。 由于刚学汇编语言,好多不懂,请大家多帮帮忙!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
用户 昵称
2008-10-22
打赏
举报
回复
第一题是俺老师讲课时的例题,一点都没变,第二题好像也是一个成品题。
cnzdgs
2008-10-21
打赏
举报
回复
第2问最好是用串操作实现,代码在前面已经给了。如果用变址效率很低,代码如下:
xor si,si ; si初始化为0
lp:
mov al,[si+1000H] ; 取1000H + si处的数据
mov [si+1070H],al ; 将数据存入1070H + si处
inc si ; si加1
cmp si,100 ; si与100比较
jc lp ; 小于100则循环
dikong
2008-10-21
打赏
举报
回复
强!!!!!!!!
BAYNPU
2008-10-20
打赏
举报
回复
1.编一个程序,统计一个8位二进制数中的为“1”的位的个数。
...
mov si,offset block
mov di,offset dplus
mov bx,offset dminus
mov ax,ds
mov es,ax
mov cx,count
cld
aa lodsb
test al,80h
jnz minus
stosb
jmp again
minus:xchg bx,di
stosb
xchg bx,di
again:dec cx
jnz aa
...
2.利用变址寄存器,编一个程序,把1000H单元开始的100个数传送自1070H开始的存储区中去。
code segment
assume cs:code
start: mov si,1000h
mov di,1070h
mov cx,100
cld
again:movsb
dec cx
jnz again
code ends
end start
end
ak9892
2008-10-20
打赏
举报
回复
AX为一个8位二进制数
REPEAT:
TEST AX,0FFFFH;让AX和全1与
JZ EXIT;如果是全0就到EXIT
JNS SHIFT;符号标志位为0时(SF=0)转移到SHIFT
JNC CX;如果AX中有出现1计数器加1
SHIFT
SHL AX,1;让AX左移1位
JMP REPEAT;无条件转移到REPEAT
EXIT:
MOV COUNT,CX;把CX置入COUNT
RET;过程返回
我只会输出1的个数,用变址寄存器存入存储器就不会了,我也是这学期刚学,互相提高
cnzdgs
2008-10-20
打赏
举报
回复
1、用循环移位与带进位加法组合实现:
mov al, Value ; 要统计的数放入al
xor cx,cx ; 用cx储存结果,初始化为0
lp:
test al,al ; 测试al
jz finish ; 如果al为0则结束
shr al,1 ; 右移一位
jnc lp ; CF标志为0,即改位不是1,则继续循环
adc cl,ch ; 结果加1,(ch是0)
jmp lp ; 继续循环
finish:
2、最好是用串操作实现:
push ds
pop es ; 让es与ds相同
mov cx,100 ; 要复制的个数
mov si,1000H ; 源地址
mov di,1070H ; 目的地址
cld ; 方向
rep movsb ; 复制
ak9892
2008-10-20
打赏
举报
回复
上课时老师讲过这个例题,嘿嘿,就是没听懂。我下去问问高人,会了就给你发过去!!!!!!!!!!!
汇编
十道
小题
这是一系列关于
汇编
语言的编程练习题,涵盖了字符串处理、二进制计数、数字运算、屏幕输出等多个方面,旨在提升
汇编
语言的实际应用能力。
【
汇编
】入门-小知识点+基础
小题
本文详细介绍了8086
汇编
语言中的寄存器、数据类型、寻址方式和常用指令,包括DH的两种含义、SI和DI寄存器的功能、数据存储的字节表示、字和双字的概念,以及算术移位和逻辑移位的区别。同时,列举了ASCII码值、8086寄存器的拆分和标志寄存器的标志位及其作用。此外,还提供了两个示例程序,分别实现了1~100的累加和字符串中小写字母转大写的操作。
汇编
小题
目
本文介绍并实现了三种方法,旨在将数据段中的小写字母转换为大写。第一种方法采用直接寻址,第二种方法使用堆栈和bx+si寻址,第三种方法则直接使用堆栈进行寻址。每种方法都提供了实现细节和步骤,旨在帮助开发者了解和掌握不同技术路径。
汇编
小题
目-求高人指点
本文介绍了一段用于查找并替换字符串中特定字符(&)的
汇编
代码实现。主要内容包括如何检测目标字符的存在,并将其替换为空格。
汇编语言
21,500
社区成员
41,617
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章