码迷,mamicode.com
首页 > 编程语言 > 详细

01_汇编语言(基本格式_模板)

时间:2015-04-21 20:37:36      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

 

计算1+2+3+...+100的和

 1 ;计算1+2+3+...+100的和
 2 DATA SEGMENT     ;数据段开始
 3     SUM DW ?
 4 DATA ENDS
 5 
 6 CODE SEGMENT    ;代码段开始
 7     ASSUME CS:CODE,DS:DATA
 8 START:  MOV AX,DATA
 9         MOV DS,AX
10         XOR AX,AX
11         MOV CX,100
12 NEXT:   ADD,AX,CX
13         LOOP NEXT
14         MOV SUM,AX
15         MOV AH,4CH    ;4C号功能调用:终止当前程序并返回调用程序
16         INT 21H    
17 CODE ENDS    ;代码段结束
18 END        ;汇编程序结束

判断变量NUM中的无符号数是否为素数

程序要求:

  编写一个汇编程序,判断变量NUM中的无符号数是否为素数,如果是素数则向屏幕输出字符P,如果是合数,向屏幕输出C。

其中NUM在数据段中给定。

程序流程:

 

技术分享

代码实现:

 

 1 ;编写一个汇编程序,判断变量NUM中的无符号数是否为素数,
 2 ;如果是素数则向屏幕输出字符P,如果是合数,向屏幕输出C。
 3 ;其中NUM在DATA数据段中给定了
 4 DATA SEGMENT    ;数据段
 5     NUM DW 13
 6 DATA ENDS
 7 CODE SEGMENT    ;代码段
 8      ASSUME CS:CODE,DS:DATA
 9 START:  MOV AX,DATA
10         MOV DS,AX   ;将数据段DATA的段基址送DS
11         MOV SI,1    ;SI 16位源变址指针寄存器
12         
13 BACK:   INC SI
14         XOR AX,AX
15         XOR DX,DX
16         MOV AX,NUM
17         CMP AX,SI   ;比较被除数(NUM)和除数(SI)是否相等
18         JZ PRINT_P  ;JZ 等于则跳转
19         DIV SI      ;用DX和AX组成的32位数除以16位的SI
20         CMP DX,0    ;余数在DX里边,判断余数是否为0
21         JNZ BACK    ;JNZ 不等于则跳转
22         
23 PRINT_C:XOR DX,DX
24         MOV DL,C
25         MOV AH,2
26         INT 21H
27         JMP EXIT    ;JMP 无条件跳转指令
28         
29 PRINT_P:XOR DX,DX
30         MOV DL,P
31         MOV AH,2
32         INT 21H
33         
34 EXIT:   MOV AH,4CH
35         INT 21H
36 CODE ENDS
37 END START 

01_汇编语言(基本格式_模板)

标签:

原文地址:http://www.cnblogs.com/ruo-yu/p/4445268.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!