汇编学习---循环结构程序设计
来源:互联网 发布:javascript登录页面 编辑:程序博客网 时间:2024/06/05 22:37
题目要求:
编程实现计算1~100的和,并将结果保存在字类型的result 变量中。
题目分析:
此题为一典型的循环结构设计题目,只需设定一个100的循环变量,依次递减1,然后累加即可。
代码实现:
data segmentrusult dw ?data endscode segment assume cs:code,ds:datastart: mov ax,data mov ds,ax mov ax,64h mov cx,64h xor bx,bxnext: add bx,ax dec ax loop next mov rusult,bx mov ax,4c00h int 21hcode endsend start
题目要求:
计算S=1+2*3+3*4+4*5+....+N*(N+1),直到N>200为止;并将结果输出到屏幕显示。
题目分析:
- 通过设定200的循环变量,先求出其结果。
- 然后通过设定将结果按16进制输出(主要根据ASCII码的差值)
代码实现:
data segment
BUF db '1+2*3+3*4+4*5+....+200*201=',0dh,0ah,'$'
RES db 4 dup(0),0dh,0ah,'$'
data ends
code segment
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov ah,09h
mov dx,offset BUF
int 21h
xor dx,dx
xor ax,ax
mov bl,1
mov cx,200
NEXT: ;NEXT实现1+2*3+3*4+4*5+....+200*201,并将计算结果存在dx寄存器中
mov al,bl
inc bl
mul bl
add dx,ax
loop NEXT
sub dx,1 ;每次对dx中的数据取最后四位,将其转化为ASCII码,并保存在指定的RES单元
mov cx,04
mov di,offset RES
add di,03
NEXT1:
mov ax,dx
and ax,000fh
cmp al,0ah
jb NEXT2
add al,07
NEXT2:
add al,30h
mov [di],al
dec di
push cx
mov cl,04h
shr dx,cl
pop cx
loop NEXT1
mov ah,09h ;输出结果
mov dx,offset RES
int 21h
mov ax,4c00h
int 21h
code ends
end start
cmp al,0ah
jb NEXT2
add al,07
NEXT2:
add al,30h
mov [di],al
dec di
push cx
mov cl,04h
shr dx,cl
pop cx
loop NEXT1
mov ah,09h ;输出结果
mov dx,offset RES
int 21h
mov ax,4c00h
int 21h
code ends
end start
代码结果:
- 汇编学习---循环结构程序设计
- 汇编学习---分支结构程序设计
- C++学习 【3.4】 程序设计初步--循环结构和循环语句
- 汇编循环程序设计小实习
- 循环结构程序设计
- 五、循环结构程序设计
- 循环结构程序设计
- 5.循环结构程序设计
- 循环结构的程序设计
- 循环结构的程序设计
- 循环结构的程序设计
- 循环结构的程序设计
- 循环结构程序设计
- 循环结构的程序设计
- 结构化程序设计----循环结构
- 汇编学习---顺序程序设计
- 【学习笔记】算法竞赛:chapter 2 循环结构程序设计
- c语音学习----循环结构程序设计(1)
- 学习的一个境界--"混熟"
- 2012年初步计划
- 静态链接库与动态链接库
- 一个网络通信开发库源码
- jxl 中 单元格合并,颜色设定等方法
- 汇编学习---循环结构程序设计
- JXL 对excle 操作(单元格合并,列宽,格式等)《二》
- [Rqnoj-434]LIGNJA
- java报表JXL和POI打印设置
- Eclipse(Myeclipse)安装GoogleGWT
- 参数处理函数getopt
- android 按两次 才退出程序
- GNU C __attribute__ 用法
- 表头固定