欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

匯編語言功能用循環(huán)累加實現(xiàn)乘法

 更新時間:2021年11月04日 15:19:24   作者:LyncDwight  
這篇文章主要為大家介紹了匯編語言實現(xiàn)功能,使用用循環(huán)累加來實現(xiàn)乘法,文中通過幾個問題實例分析,來為大家進行詳細講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助

問題1:編程計算2的2次方,結果存在ax中

分析:用2+2實現(xiàn)

assume cs:code 
	code segment
		mov ax,2
		add ax,ax 
		;實現(xiàn)程序的返回
		mov ax,4c00h
		int 21h
	code ends
end

問題2:編程實現(xiàn)2的12次方

分析:用loop實現(xiàn)

assume cs:code
	code segment
		mov ax,2		
		mov cx,11	;設置循環(huán)次數(shù),只需相加11次
		s:add ax,ax
		loop s
 		mov ax,4c00h
		int 21h
	code ends
end

問題3:編程實現(xiàn)123*236,結果存在ax中

分析:用236相加123次的計算次數(shù)比較少,節(jié)約計算資源

assume cs:code
	code segment 
		mov ax,236
 		mov cx,122
		s:add ax,ax
		loop s
 		mov ax,4c00h
		int 21h
	code ends
end

問題4:計算ffff:0006單元中的數(shù)乘以3,結果存儲在dx中

分析:

1、判斷數(shù)據是否能夠存儲

因為內存單元中存儲的是字節(jié)型數(shù)據,范圍在0~255之間,乘上8之后不會大于16位dx寄存器的存儲范圍0~65535

2、判斷數(shù)據相加是否能夠位數(shù)相同

內存單元是字節(jié)單元,如果用寄存器直接相加,數(shù)據的長度不一樣,所以需要將寄存器變成8位,則只需要將高8位設置為0,用低8位相加即可

assume cs:code
code segment
	;設置地址指向為ffff:0006
	mov ax,0ffffh   ;字母開頭的常量前面需要加0
	mov ds,ax
	mov bx,6	;ds:bx則為數(shù)據的指向 
	mov al,ds:[bx]
	mov ah,0
 	mov dx,0	;初始化寄存器中的內容
 	mov cx,3	;因為不是自身相加,所以需要3次
	s:add dx,ax
	loop s
 	mov ax,4c00h
	int 21h		;程序返回
 
code ends
end

問題5:計算ffff:0~ffff:b單元中的數(shù)據的和,結果存儲在dx中

分析:

1、運算的結果是否超出寄存器的范圍

12個字節(jié)型數(shù)據的相加,結果不會超過65535

2、能否直接相加dx中的數(shù)據

8位的數(shù)據不能直接相加到16位的寄存器中,如果用低8位進行相加,結果可能會超出8位存儲的范圍,所以只能先將數(shù)據存放到16位的寄存器中,在與dx相加

assume cs:code
code segment
	mov ax,0ffffh
	mov ds,ax
	mov bx,0	;ds:bx指向ffff:0 
	mov dx,0 
	mov cx,12	;12次到ffff:b 
s:	mov al,ds:[bx]
	mov ah,0
	add dx,ax	;利用ax進行相同位數(shù)的相加
	inc bx 		;向后移動一個單元
	loop s 
	mov ax,4c00h
	int 21h
 
code ends
end

問題6:計算data段中第一組數(shù)據的3次方,結果保存在后面一組的dword單元中

分析:

1、需要利用一個子程序包裝出計算的功能

2、同時需要兩個寄存器分別保存和修改其中的內容

assume cs:code,ds:data
data segment
	dw 1,2,3,4,5,6,7,8
	dw 8 dup(0)
data ends 
code segment
start:	mov ax data
		mov ds,ax
		mov si,0		;ds:si指向第一組word單元
		mov di,16		;ds:di指向第二組dword單元 
		mov cx,8
s:		mov bx,ds:[si]
		call cube
		mov ds:[di],ax		;計算的結果低16位保存在ax中
		mov ds:[di+2],dx	;計算的結果高16位保存在dx中
		add si,2		;ds:si指向下一個word單元
		add di,4		;ds:di指向下一個dword單元
		loop s 
		mov ax,4c00h
		int 21h 
cude:	mov ax,bx
		mul bx
		mul bx
		ret
 
code ends
end start

以上就是匯編語言功能用循環(huán)累加實現(xiàn)乘法的詳細內容,更多關于匯編語言循環(huán)累加實現(xiàn)乘法的資料請關注腳本之家其它相關文章!

相關文章

  • 匯編語言之寄存器詳解

    匯編語言之寄存器詳解

    這篇文章主要介紹了匯編語言之寄存器詳解,需要的朋友可以參考下
    2020-01-01
  • 匯編語言中的各種寄存器介紹

    匯編語言中的各種寄存器介紹

    匯編語言(assembly language)是一種用于電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言.這篇文章主要介紹了匯編語言中的各種寄存器介紹,需要的朋友可以參考下
    2020-01-01
  • 一文秒懂匯編中的循環(huán)問題

    一文秒懂匯編中的循環(huán)問題

    這篇文章主要介紹了一文秒懂匯編中的循環(huán)問題,通過每一行指令詳細分析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • 匯編用串檢測scasb尋找數(shù)的位置實現(xiàn)

    匯編用串檢測scasb尋找數(shù)的位置實現(xiàn)

    這篇文章主要介紹了匯編用串檢測scasb尋找數(shù)的位置實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • DEBUG命令詳解教程

    DEBUG命令詳解教程

    DEBUG命令詳解教程...
    2007-03-03
  • 匯編:Debug的常用命令

    匯編:Debug的常用命令

    DEBUG是專門為匯編語言設計的一種調試工具,它通過步進,設置斷點等方式為匯編語言程序員提供了非常有效的調試手段
    2023-08-08
  • 匯編語言入門匯編指令及寄存器詳解教程

    匯編語言入門匯編指令及寄存器詳解教程

    這篇文章主要為大家介紹了匯編語言入門匯編指令及寄存器的詳解教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • 匯編語言 輸入10個數(shù)排序并輸出的實現(xiàn)

    匯編語言 輸入10個數(shù)排序并輸出的實現(xiàn)

    這篇文章主要介紹了匯編語言 輸入10個數(shù)排序并輸出的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • 純匯編實現(xiàn)打飛機小游戲的示例代碼

    純匯編實現(xiàn)打飛機小游戲的示例代碼

    這篇文章主要介紹了純匯編實現(xiàn)打飛機小游戲的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • iOS匯編入門教程之在Xcode工程中嵌入匯編代碼的方法

    iOS匯編入門教程之在Xcode工程中嵌入匯編代碼的方法

    在Xcode中嵌入匯編代碼主要依賴了C語言支持通過 __asm__ 引入匯編代碼的功能。這篇文章主要介紹了iOS匯編入門教程之在Xcode工程中嵌入匯編代碼的方法,需要的朋友可以參考下
    2020-02-02

最新評論