8086乘法指令MUL,IMUL

對于加減指令來說CPU對有符號加減和無符號加減一視同仁,根據我們需要把它作為有符號的結果還是無符號的結果,但是乘除法指令區分有符號乘除和無符號乘除指令
無符號數乘法指令MUL(MULtiply)
MUL?OPRD(OPRD可以用除立即數以外的任何尋址方式)
???OPRD是八位一個乘數默認在AL中?則:AL*OPRD?結果保存在AX中
???OPRD是16位一個乘數默認在AX中?則:AX*OPRD?DX保存結果的高16位,AX保存結果的低16位
	
code?segment mov?bl,2 mul?bl ;ax<--bl*al mov?bx,2 mul?bx ;dx,ax?<--bx*ax?,DX保存結果的高16位,AX保存低16位 code?ends
	
	assume?cs:code
	data?segment
		db?2,5
	data?ends
	code?segment
	start:
		mov?ax,data
		mov?ds,ax
		mov?si,0
		mov?al,50H
		mul?byte?ptr?ds:[si]	;BYTE?取出data段中一個字節進行8位乘法al*02H
		mov?ax,50H
		mul?word?ptr?ds:[si]	;WORD?取出data段中一個字進行16位乘法??ax*0502H
		mov?ax,4c00H
		int?21H
	code?ends
	end?start

有符號數乘法指令IMUL(sIgned?MULtiply)
IMUL?OPRD?;該指令把乘數與被乘數均作為有符號數,此外與MUL相同
乘法指令影響FLAG標志寄存器......

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375200.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375200.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375200.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

hdu 4857 逃生 拓撲排序

逃生題目連接&#xff1a; http://acm.hdu.edu.cn/showproblem.php?pid4857 Description 糟糕的事情發生啦&#xff0c;現在大家都忙著逃命。但是逃命的通道很窄&#xff0c;大家只能排成一行。 現在有n個人&#xff0c;從1標號到n。同時有一些奇怪的約束條件&#xff0c;每個…

指針數組,數組指針,指針函數,函數指針(轉)

int *p[4]; //指針數組。 是個有4個元素的數組&#xff0c; 每個元素的是指向整型的指針。(數組的每個元素都是指針)int (*p)[4]; //數組指針。 它是一個指針&#xff0c;指向有4個整型元素的數組。 (一個指針指向有4個整型元素的數組)int *…

8086除法指令DIV,IDIV

無符號除法指令DIV(DIVision) DIV OPRD ;除數OPRD決定是8位除法還是16位除法;OPRD8位,則被除數默認在AX中,AX除以OPRD的商保存在AL中,余數保存在AH中;OPRD16位,則被除數默認在DX與AX中,結果的商保存在AX中,余數保存到DX中assume cs:code data segmentdb 2,4 data ends code se…

Hibernate 基礎配置及常用功能(二)

本章主要是描述幾種經典映射關系&#xff0c;順帶比較Hibernate4.x和Hibernate5.x之間的區別。 一、建立測試工程目錄 有關實體類之間的相互映射關系&#xff0c;Hibernate官方文檔其實描述的非常詳細&#xff0c;這里只提供幾種常見映射。&#xff08;推薦4.3.11版本的 hibern…

三言兩語

人生中總是在選擇。每當做一件事我們都應該問問我們的內心&#xff0c;或多或少我們都能理解一點人生的真諦。 最近時間很充裕&#xff0c;也就想了好多事情。首先我想明白的第一件事就是做任何事就要勇敢的去面對、去追求。喜歡一個女孩子大概有8年了吧&#xff01;這期間我們…

8086邏輯移位指令SHL和SHR

SHL邏輯左移指令 SHL OPRD M;把操作數OPRD左移M位,M為位移次數,為1或為CL(位移超過1次用CL表示) ;每移動一位右邊用0補足一位,移出的最高位進入CF(最后移出的一位寫入CF) MOV AL,00010011B ;13H 00010011B SHL AL,1 ;把AL左移1位,移出的最高位0進入CF,右邊0補足1位…

YTU 2903: A--A Repeating Characters

2903: A--A Repeating Characters 時間限制: 1 Sec 內存限制: 128 MB提交: 50 解決: 30題目描述 For this problem,you will write a program that takes a string of characters,S,and creates a new string of characters,T,with each character repeated R times.That is,…

JavaScript 模擬裝飾者模式

/*** 抽象coffee父類&#xff0c;其實可以不用的*/ function Coffee () {} Coffee.prototype.cost function() {throw 實現這個方法; }; /*** 黑咖啡&#xff0c;其實可以不用繼承的&#xff1b;*/ function BlackCoffee () {} // BlackCoffee.prototype new Coffee(); // Bl…

8086算術移位指令SAL和SAR

SAL算術左移指令同邏輯左移指令進行相同動作,機器指令一樣,只是為了方便記憶而提供的兩個助記符 SAR算術右移指令 SAR OPRD,M ;該指令使操作數右移M位,每移動1位左邊的符號保持不變,移出的最低位進入CF mov al,26H ;00100110B 右移1位 00010011B sar al,1 ;26H/2H13H mov a…

const 和readonly

原文:http://www.cnblogs.com/royenhome/archive/2010/05/22/1741592.html 關于 const和readonly修飾符之間的區別,要牽涉到C#中兩種不同的常量類型: 靜態常量(compile-time constants) 和動態常量(runtime constants) 靜態常量是指編譯器在編譯時候會對常量進行解析,并將常量的…

Objective - C 小談:UIPickerView 和 UIDatePicker的基本使用

1.UIPickerView 1.1. UIPickerView的常見屬性 // 數據源(用來告訴UIPickerView有多少列多少行) property(nonatomic,assign) id<UIPickerViewDataSource> dataSource;// 代理(用來告訴UIPickerView每1列的每1行顯示什么內容,監聽UIPickerView的選擇) property(nonatomic,…

8086移位指令

8086有如下3條一般移位指令 SAR OPRD,M ;算術右移 對無符號數和有符號數而言右移1位相當于原數除以2 SHR OPRD,M ;邏輯右移 對無符號數右移1位相當于原數除以2 SHL OPRD,M/SAL OPRD,M ;邏輯/算術左移(兩個助記符只有一個機器指令,進行相同的動作)左移1位相當于原數*2

ADO連接ACCESS數據庫

首先在StdAfx.h中加入 建立連接&#xff1a;(在xxApp文件中) 1 聲明變量 2 建立連接 (1) AfxOleInit 初始化 OLE 為應用程序的支持。 BOOL AFXAPI AfxOleInit( ); 返回值 非零&#xff0c;如果成功;0&#xff0c;如果初始化失敗&#xff0c;可能&#xff0c;因為安裝該 OLE 系…

MySQLdb autocommit的坑

今天寫的一個小功能&#xff0c;里面要用MySQLdb更新數據庫&#xff0c;語句如下 sql "update %s.account_operation set status1 where username%s" % (allResDBInfos[db], username)變量替換后&#xff0c;是下面的樣子 update suspects.account_operation set st…

8086段寄存器

8086有四個段寄存器CS,DS,SS,ES 任意時刻CPU執行CS:IP指向的指令,CS為代碼段寄存器(IP為指令指針寄存器) 任意時刻SS:SP指向棧的棧頂單元,SS為棧段寄存器 我們尋找數據需要知道數據在內存的位置用DS尋址 DS為數據段寄存器 ES為附加段寄存器可作為目的地址的段地址比如ES:DI…

用jquery給元素綁定事件,一些內部細節

按看段代碼&#xff1a; 1 $(.test).on(click, function() { 2 console.log(hello); 3 $(this).removeClass(test); 4 }); 就算是remove掉class test&#xff0c;照樣可以點&#xff0c;事件綁定的是這個對象。 轉載于:https://www.cnblogs.com/lqj12138/p/4384596.html

8086數據寄存器

8086CPU有四個16位數據寄存器可分成8個8位寄存器 AX(AH,AL)|BX(BH,BL)|CX(CH,CL)|DX(DH,DL) 數據寄存器主要用來保存操作數和保存運算結果等 AX 常用作累加器(accumulator)用來保存臨時數據比如MOV AX,DATA將數據段地址送入AX ;MUL BL,DIV BX用來保存乘除法的結果 BX 基(Ba…

使用搜索欄過濾collectionView(按照首字母)

1.解析json數據NSDictionary *citiesDic [CoreJSONSerialization coreJSONSerialization:"cities"];NSDictionary *infor [citiesDic objectForKey:"infor"];NSArray *listItems [infor objectForKey:"listItems"]; 2.存儲數據 for (NSDicti…

《哪來的天才?練習中的平凡與偉大》

這是一本堪稱論述所有偉大成就來源的書中最讓我覺得激動人心、非常棒的一本書。 什么成就了一個那些所謂的天才&#xff1f;刻意練習&#xff01;偉大的成就不是因為所謂天生的基因&#xff0c;也不是所謂簡單的埋頭苦干。而是需要長時間有針對性的刻意提高自己某個方面能力的艱…

8086變址和指針寄存器

SI和DI稱為變址寄存器,在字符串操作中SI作為源指針,DI作為目的指針(ES:DI<--DS:SI) ;用作存儲器指針時可用于尋址 DS:[SI],DS:[BXDI]BP和SP稱為指針寄存器,BP稱為基址針,SP為堆棧指針 ;BP也可作為存儲器指針DS:[bpsi],如果沒有段前綴那么BP最為堆棧基址[BP]尋址的是堆棧內存…