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

 

计算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 

转载于:https://www.cnblogs.com/ruo-yu/p/4445268.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值