实验三 汇编语言编程_P84_8 下载本文

实验三

实验项目名称: ARM处理器汇编语言编程:

实验目的和要求:练习汇编语言指令、伪指令语句的应用 实验原理:编程汇编语言源程序,实现题目要求。

主要仪器设备:台式计算机、windows操作系统、应用软件等。 实验方法与步骤:1、编写汇编程序,编译程序。

2、运行程序,观察结果。

实验数据记录、处理及结果分析。

4-8、编写程序,统计20个数据中的所有位中的1的个数,如果为奇数则在R0中存放1,如果为偶数则在R0中存放0。 ;dh存放偶数个数,dl存放奇数个数。 assume cs:codesg,ds:data

data segment

DW 4,89,25,234,956,1,25325,7,9768,12134 data ends

codesg segment start:

mov ax,data mov ds,ax mov si,0

mov dx,0 mov cx,10 mov bl,2 s:

mov ah,0 mov al,[si] div bl cmp ah,0 je seven suneven: inc dl

jmp short ok seven: inc dh ok:

add si,2 loop s

mov ax,4c00h int 21h codesg ends end start

4-9、用汇编语言编写程序实现:寄存器R0和R1中有两个正整数,求这两个数的最大公约数,结果存储在R0中。 原理 辗转相除法.

当两个数都较大时,采用辗转相除法比较方便.其方法是:

以小数除大数,如果能整除,那么小数就是所求的最大公约数.否则就用余数来除刚才的除数;再用这新除法的余数去除刚才的余数.依此类推,直到一个除法能够整除,这时作为除数的数就是所求的最大公约数.

area expmple,code,readonly entry

start mov r1,#12 mov r0,#2