三九宝宝网宝宝教育教学论文

用汇编语言实现一个函数判断一个数x是否为质数

02月10日 编辑 39baobao.com

[急求用汇编语言实现1至100的累加运算]写一个子程序 用CX作为入口参数 BX作为出口参数存放结果 mov cx,100 call leijia 如果是累加到1000 mov cx,1000 call leijia 还有就是记的保护现场 leijia proc mov dx,1 m...+阅读

; 求1~1000之间的所有素数

CODE SEGMENT

ASSUME CS:CODE

COUNT DW 0

START: PUSH CS

POP DS

PUSH CS

POP ES

MOV WORD PTR COUNT,0

MOV CX,1000

MOV SI,1

MLP:

MOV AX,SI

CALL F

CMP AX,1

JNE 1

INC WORD PTR COUNT

MOV AX,SI

CALL DSPAX

1:

INC SI

LOOP MLP

MOV AX,COUNT

CALL DSPAX

MOV AH,4CH

INT 21H

;====================================

; 要判断的数放入ax中

; ax返回1时表示是素数

; ax返回0时表示是合数

F PROC NEAR

JMP F1

X DW ?

X2 DW ?

F1: CMP AX,1

JZ F2

CMP AX,2

JZ F11

CMP AX,3

JZ F11

MOV X,AX

SHR AX,1

MOV X2,AX

MOV BX,2

FLP: MOV DX,0

MOV AX,X

DIV BX

CMP DX,0

JZ F2

INC BX

CMP BX,X2

JBE FLP

F11: MOV AX,1

RET

F2: MOV AX,0

RET

F ENDP

;=================================

DSPAXS PROC NEAR

PUSH AX

TEST AX,8000H

JNS DSPAXS1

PUSH AX

PUSH DX

MOV AH,2

MOV DL,'-'

INT 21H

POP DX

POP AX

NEG AX

DSPAXS1:

CALL DSPAX

POP AX

RET

DSPAXS ENDP

;===============================

DSPAX PROC NEAR

PUSH AX

PUSH BX

PUSH CX

PUSH DX

PUSHF

XOR CX,CX

MOV BX,10

DSPAX1:

XOR DX,DX

DIV BX

INC CX

OR DX,30H

PUSH DX

CMP AX,0

JNE DSPAX1

MOV AH,2

DISPAX2:

POP DX

INT 21H

LOOP DISPAX2

MOV DL,32

INT 21H

POPF

POP DX

POP CX

POP BX

POP AX

RET

DSPAX ENDP

;==================================

CODE ENDS

END START

以下为关联文档:

用汇编语言编写将一个包含10个带符号数的数组分成正数数组和负数DATA SEGMENTNUM DB 1,2,...,10 ;这个你随便写10个字节的数据P DB 10 DUP(?) ;正数组PNUM DB 0 ;正计数N DB 10 DUP(?) ;负数组NNUM DB 0DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:D...

用汇编语言编写程序;MIMA ;================================== DATA SEGMENT BUF1 DB 'HAPPY!' BUF3 DB 10, 13, 'PLEASE INPUT PASSWORD : $' BUF4 DB 10, 13, 'ERROR ! $' BUF5 DB 6 DUP(?)...

用汇编语言编写一个简单程序1.计算U=(X+(Y*Z-100))/W 其中:X,Y,Z,W均为十六位有符号数。 程序如下: DATA SEGMENT X DW 10 ;16位变量 Y DW 20 Z DW 30 W DW 40 U DW ?,? DATA ENDS CODE SEGMENT ASSUME C...

如何用汇编语言写一个从1加到100的程序参考如下的代码: CODE SEGMENT ASSUME CS:CODE START: ;--------------------------------- MOV AX, 0 MOV CX, 100 S: ADD AX, CX LOOP S ;-----基本的,就上面四行---- MOV AH...

用汇编语言做单片机时钟显示基于c8051f020单片机最小系统的实时时钟显示程序c8051f020 FYD12864-0402B LCD显示,按键电子时钟//#include#include#include#define uchar unsigned charvoid lcd_ini();voi...

用汇编语言编写一个时钟程序能显示时分秒的还要有秒表就是计STACK1 SEGMENT STACK DW 200 DUP (?) STACK1 ENDS DATA SEGMENT SPACE DB 1000 DUP (' ') PATTERN DB 6 DUP (' '),0C9H,26 DUP (0CDH),0BBH,6 DUP (' ') DB 6 DUP (' '),0...

怎么用汇编语言把系统时间给显示出来?急用!顺便能给注释吗cursor equ 45Hattrib equ 2fhcode segment assume cs:code,ds:codestart: jmp gooldcur dw ?OLD1C DW 2 DUP(?)NEWINT1C: PUSHF CALL DWORD PTR CS:OLD1C push ax PUSH BX...

求一个用汇编语言编写时钟的程序只要能在pc机上显示时分秒就行1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 5...

用汇编语言乘法指令实现两个字节相乘的程序并转换成十六进制数显示code segment assume cs:code org 100h start: jmp bbb x db 11h y db 12h z dw ? msg1 db 13,10,' ','$' bbb: push cs pop ds push cs pop es mov al,x mov bl,y mul bl m...

推荐阅读
图文推荐