汇编语言100例(微机原理中的汇编语言题:编程求1到100的和,求解结果放入result中,其中result为字)

本文目录
- 微机原理中的汇编语言题:编程求1到100的和,求解结果放入result中,其中result为字
- 用汇编语言编写1到100的和,和超过1000就停止
- 用汇编语言编写 Z=X*Y+100
- 使用汇编语言怎样编写100个偶数相加的程序
- 单片机汇编语言1加到100怎么编
- 用单片机汇编语言编写从30H开始的100数据的排列 从小到大程序
- 使用汇编语言:使用循环在屏幕上输出100个字符A 写程序 明天就要交作业了 求大神解!!!!
微机原理中的汇编语言题:编程求1到100的和,求解结果放入result中,其中result为字
;sum 1-100
data segment
result dw 0
msg db ’sum (1-100) is:$’
lf db 0dh, 0ah, ’$’
data ends
code segment
assume cs:code, ds:data
start:
mov ax, data
mov ds, ax
mov cx, 100
xor ax, ax
L1:
add ax, cx
loop L1
mov result, ax
lea dx, msg
mov ah,9
int 21h
mov ax,result
call print
lea dx,lf
mov ah,9
int 21h
mov ah,4ch
int 21h
print proc near
mov cx,0
mov bx,10
Q0:
xor dx, dx
div bx
xor dx,0e30h
push dx
inc cx
cmp ax, 0
jnz Q0
Q1:
pop ax
int 10h
loop Q1
ret
print endp
code ends
end start
用汇编语言编写1到100的和,和超过1000就停止
code segment
assume cs:code
start: xor ax,ax ;ax清零
mov bx,1 ;bx置为1
next: add ax,bx ;将bx加到ax中
inc bx ;bx增1
cmp ax,1000
jbe next ;和小于等于1000则转到next继续加
;大于1000,结束。此时累加和在ax中。结果是040bh
mov ax,4c00h
int 21h
code ends
end start
用汇编语言编写 Z=X*Y+100
提供一下思路吧。
首先把X放到AX寄存器里,然后用mul y,这样AX里面就存放了x*y,然后用add ax,100
这样的就完成了整个计算过程。
程序还是自己写比较好,锻炼一下动手能力
使用汇编语言怎样编写100个偶数相加的程序
我做的是从2开始的100个偶数的和,结果是2774H,即十进制的10100
没有编写输出语句,要用debug看结果。
dseg segment
sum dw ?
dseg ends
cseg segment
assume cs:cseg,ds:dseg
begin: mov ax,dseg
mov ds,ax
xor ax,ax
mov cx,1
again: mov bx,cx
shl bl,1
add ax,bx
inc cx
cmp cx,100
jbe again
mov sum,ax
mov ah,4ch
int 21h
cseg ends
end begin
下面这个程序是计算100以内的偶数和,并以十六进制显示:
dseg segment
sum dw ?
tab db ’0123456789ABCDEF’
dseg ends
cseg segment
assume cs:cseg,ds:dseg
begin: mov ax,dseg
mov ds,ax
xor ax,ax
mov cx,100
again: add ax,cx
sub cx,2
jnz again
mov sum,ax
;以上是求和,并存到sum单元
mov bx,offset tab
mov dh,4
mov cl,4
next: rol ax,cl
push ax
and ax,0fh
xlat
mov dl,al
mov ah,2
int 21h
pop ax
dec dh
jnz next
mov dl,’H’
mov ah,2
int 21h
;以上是以十六进制显示,思想是分离出四位,查表转换成ASCII码,并用2号功能显示,循环4次。最后输出后缀H
mov ah,4ch
int 21h
cseg ends
end begin
单片机汇编语言1加到100怎么编
org 0
mov r0,#100 ;共100个数
mov a,#0 ;累加结果先清0
mov r1,#1 ;第1个数为1
loop:
add a,r1 ;把数累加起来
inc r1 ;下一个数
djnz r0,loop;共100个数,未完转 LOOP循环
sjmp $ ;完成
end
用单片机汇编语言编写从30H开始的100数据的排列 从小到大程序
一批单字节无符号数,以R0为首地址指针,R2中为字节数,将这批数进行升序排列.
SORT: MOV A,R0 ;
MOV R1,A ;(R1)为首地址
MOV A,R2 ;字节数送入R5
MOV R5,A ;(R5)为字节数
CLR F0 ;互换标志位F0清零
DEC R5 ;循环n-1
MOV A,@R1 ;
LOOP: MOV R3,A ;(R3)为前一个数
INC R1 ;地址指向下一个数
CLR C ;
MOV A,@R1 ;取下一个数
SUBB A,R3 ;比较大小
JNC LOOP1 ;如果进位位Cy=0,则转移
SETB F0 ;互换标志位F0置1
MOV A,R3 ;前面大的数放到A
XCH A,@R1 ;互换后,小的数在A,大数在@R1
DEC R1 ;(R1)指向前一个地址
XCH A,@R1 ;小的数放到前一个地址
INC R1 ; (R1)指向下一个地址
LOOP1: MOV A,@R1 ;取下一个数
DJNZ R5,LOOP
JB F0,SORT 如果直接寻址位=1,则转移
RET这是单片机汇编语言的经典冒泡法排序,看懂了,对你很有帮助!把R0=30H ,R2=100H-30H代入,就可以得到你要的结果
使用汇编语言:使用循环在屏幕上输出100个字符A 写程序 明天就要交作业了 求大神解!!!!
ASSUME CS:CODE, DS:CODE
;---------------------------------
CODE SEGMENT ;代码段
START:
MOV AX, CODE
MOV DS, AX
;--------------------------------
MOV AH, 2
MOV DL, ’A’
MOV CX, 100
LOP:
INT 21H
LOOP LOP ;循环100次
MOV AH, 4CH ;结束程序
INT 21H
CODE ENDS
END START
;---------------------------------
可以了。

更多文章:
easyui调用bartendee模板(EXCEL数据库调用BarTender10.1问题)
2026年7月18日 14:45
matlab sym(大家好!matlab中syms是什么意思)
2026年3月27日 04:15
technology各种词性(technique与technology的区别)
2026年3月28日 22:00
facilitate英语怎么读(促成的英语翻译 促成用英语怎么说)
2026年2月28日 23:30
vue2diff算法(简单几句话,知道什么是回流重绘、vue虚拟dom、diff算法和key)
2026年2月26日 10:15
column在sql是什么意思(sql语句中的information_schema.COLUMNS 是什么意思呢)
2026年8月17日 16:15
powerpoint模板(如何制作PowerPoint的模板)
2025年7月6日 00:15
optimistic怎么读英语(optimistic怎么读)
2026年3月8日 11:45
html中生成滚动条或文字(html如何实现滚动文字和音乐)
2026年2月25日 20:45
conventionally a phoneme(conventionally是什么意思)
2026年2月16日 02:45
css下拉菜单颜色(如何用CSS把下拉菜单背景色弄成透明而上面的文字不透明)
2025年6月3日 05:45
html5支持的标签(html5 新加的标签元素例如:<header><section><footer>解惑)
2025年11月17日 20:30
dom4j生成xml特殊字符不转义(JAVA dom4j怎样将双引号 写入XML时为“ 表示)
2025年12月14日 22:45
headerstyles设表头样式(word怎么绘制表头斜线并打字)
2026年8月7日 22:15












