A. 指令特點該從哪些方面分析
指令格式一般有Pentium指令系統(教科書上的),一般包括5種①三地址指令:一般地址域中A1、A2分別確定第一、第二操作數地址,A3確定結果地址。下一條指令的地址通常由程序計數器按順序給出。②二地址指令:地址域中A1確定第一操作數地址,A2同時確定第二操作數地址和結果地址。
③單地址指令:地址域中A 確定第一操作數地址。固定使用某個寄存器存放第二操作數和操作結果。因而在指令中隱含了它們的地址。
④零地址指令:在堆棧型計算機中,操作數一般存放在下推堆棧頂的兩個單元中,結果又放入棧頂,地址均被隱含,因而大多數指令只有操作碼而沒有地址域。
⑤可變地址數指令:地址域所涉及的地址的數量隨操作定義而改變。如有的計算機的指令中的地址數可少至 0個,多至6個。
定址方式一共包括2類,指令定址和數據定址
指令定址有3種(順序型,轉移型(執行跳轉指令),還有相對定址(其實也是轉移型))
數據定址有7種(立即,直接,間接,寄存器直接,寄存器間接,基址,變址)
其中的定址方式具體有什麼問題再問我哦。希望能夠對你有幫助。
與存取數據有關的定址方式:立即定址、寄存器定址、直接定址、寄存器間接定址、寄存器相對定址、基址變址定址、相對基址變址定址
與程序控制有關的定址方式:段內直接定址、段間直接定址、段內間接定址、段間間接定址
計算機指令格式通常包含操作碼和操作數兩部分,它們二進制形式存於存儲器.
B. 指令周期的特點
指令不同,所需的機器周期數也不同。對於一些簡單的的單位元組指令,在取指令周期中,指令取出到指令寄存器後,立即解碼執行,不再需要其它的機器周期。對於一些比較復雜的指令,例如轉移指令、乘法指令,則需要兩個或者兩個以上的機器周期。
從指令的執行速度看,單位元組和雙位元組指令一般為單機器周期和雙機器周期,三位元組指令都是雙機器周期,只有乘、除指令佔用4個機器周期。
因此在進行編程時,在完成相同工作的情況下,選用佔用機器周期少的命令會提高程序的執行速率,尤其是在編寫大型程序程序的時候,其效果更加明顯。
C. x86匯編指令的特點是什麼
簡單點說,所有的對操作數進行算術和邏輯運算的指令,都會根據運算結果修改ZF標志。
第一點:
大多數情況下,運算結果對ZF的修改,由結果是否為0決定。
若運算結果為0,則ZF=1;
若運算結果非0,則ZF=0.
舉些例子吧:
加法指令,比如ADD, ADC, INC,等
減法指令,比如SUB, SBB, CMP, DEC, NEG, 等
邏輯運算指令,比如AND, TEST, OR, XOR, NOT等
邏輯移位指令,比如SHL, SHR, SAL, SAR, RCL, RCR等(ROL,ROR不會改變ZF,原因可自己分析)
調整指令,比如AAA, AAS,等
串指令中含有算術運算的那些,比如CMPS, SCAS等
控制轉移指令中含有算術運算的,比如LOOP
第二點:
但是,也有一些指令,會改變ZF標志,但其結果具有不確定性,沒有運算結果是否為0的意義。
比如乘法指令 MUL和IMUL, 除法指令DIV和IDIV等
改變標志寄存器內容的SAHF指令,堆棧操作中的POPF指令,也不具有運算結果的意義。
D. 訪管指令的特點和作用是什麼
「訪管指令」是可以在目態下執行的指令。當源程序中有需要操作系統服務的要求時,編譯程序就會在由源程序轉換成的目標程序中安排一條「訪管指令」並設置一些參數。當目標程序執行時,中央處理器若取到了「訪管指令」就產生一個中斷事件,中斷裝置就會把中央處理器轉換成管態,並讓操作系統處理該中斷事件。操作系統分析訪管指令中的參數,然後讓相應的「系統調用」子程序為用戶服務。系統調用功能完成後,操作系統把中央處理器的管態改為目態,並返回到用戶程序。
從程序調用的角度來看,用戶應用程序中要調用一些子程序。子程序可以分為用戶自己編寫的子程序和軟體提供的子程序,對後者的訪問即被稱為訪問系統程序(訪管)指令,又稱為陷阱(TRAP)指令。
訪管指令並不是特權指令。所謂特權指令,是指用於操作系統或其他系統軟體的指令,一般不提供給用戶使用。
我們可以進一步問另一個問題:為什麼要在程序執行中引入「訪管指令」呢?
我們知道,用戶程序只能在目態下運行,並且不能使用特權指令。因而就存在這么一個問題:如果用戶程序想要啟動外設,或者要完成在目態下無法完成的工作,該怎麼辦?要解決這一問題必須有三個條件:
(1)需要有一條指令,能使處理機從目態進入管態,並向操作系統提交要代為完成的工作;
(2)在管態下由操作系統完成用戶程序的請求;
(3)操作系統完成所做工作後能返回到用戶程序,即從管態回到原來的目態。
解決這個問題要靠訪管指令。訪管指令本身不是特權指令,其基本功能是讓程序擁有「自願進管」的手段,從而引起訪管中斷。
自願性中斷事件(軟體中斷)是正在運行的程序所期待的事件。這種事件是由於執行了一條訪管指令而引起的,它表示正在運行的程序對操作系統有某種需求。一旦機器執行這一中斷時,便自願停止現行程序而轉入訪管中斷處理程序處理。例如,要求操作系統協助啟動外圍設備工作。
所謂系統調用就是用戶在程序中能用訪管指令調用的由操作系統提供的子功能集合。其中每一個子功能稱為一個系統調用命令。
E. LEA指令的特點
OPRD1 為目的操作數,可為任意一個16位的通用寄存器.
OPRD2 為源操作數,可為變數名、標號或地址表達式.
F. 綜合評價使用DOS命令的特點和Windows操作系統不能取消DOS命令的原因
DOS命令,無圖形界面,操作效率高,能解決疑難雜症。
為什麼沒有取消DOS命令?因為dos命令能做很多windows圖形界面上無法操作的事情,設置簡單,運行流暢。
G. 命令的兩大特點是什麼
命令是體現國家機關領導意志的重要下行文,它具備三個主要特點:(1)權威性(2)指揮性(3)強制性
H. ping命令運用特點
在網路中Ping 是一個十分好用的TCP/IP工具。它主要的功能是用來檢測網路的連通情況和分析網路速度。在我們的賽迪網技術社區里有這樣一篇帖子《PING命令詳解》對ping命令進行了詳細解釋:
Ping有好的善的一面也有惡的一面。先說一下善的一面吧。上面已經說過Ping的用途就是用來檢測網路的連同情況和分析網路速度,但它是通過什麼來顯示連通呢?這首先要了解Ping的一些參數和返回信息。
以下是PING的一些參數:
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j computer-list] | [-k computer-list] [-w timeout] destination-list
........
-t
Ping 指定的計算機直到中斷。
-a
將地址解析為計算機名。
-n count
發送 count 指定的 ECHO 數據包數。默認值為 4。
-l length
發送包含由 length 指定的數據量的 ECHO 數據包。默認為 32 位元組;最大值是65,527。
-f
在數據包中發送"不要分段"標志。數據包就不會被路由上的網關分段。
-i ttl
將"生存時間"欄位設置為 ttl 指定的值。
-v tos
將"服務類型"欄位設置為 tos 指定的值。
-r count
在"記錄路由"欄位中記錄傳出和返回數據包的路由。count 可以指定最少 1 台,最多 9 台計算機。
-s count
指定 count 指定的躍點數的時間戳。
-j computer-list
利用 computer-list 指定的計算機列表路由數據包。連續計算機可以被中間網關分隔(路由稀疏源)IP 允許的最大數量為 9。
-k computer-list
利用 computer-list 指定的計算機列表路由數據包。連續計算機不能被中間網關分隔(路由嚴格源)IP 允許的最大數量為 9。
-w timeout
指定超時間隔,單位為毫秒。
destination-list
指定要 ping 的遠程計算機。
Ping的返回信息有"Request Timed Out"、"Destination Net Unreachable"和"Bad IP address"還有"Source quench received"。
"Request Timed Out"這個信息表示對方主機可以到達到TIME OUT,這種情況通常是為對方拒絕接收你發給它的數據包造成數據包丟失。大多數的原因可能是對方裝有防火牆或已下線。
"Destination Net Unreachable"這個信息表示對方主機不存在或者沒有跟對方建立連接。這里要說明一下"destination host unreachable"和"time out"的區別,如果所經過的路由器的路由表中具有到達目標的路由,而目標因為其它原因不可到達,這時候會出現"time out",如果路由表中連到達目標的路由都沒有,那就會出現"destination host unreachable"。
"Bad IP address" 這個信息表示你可能沒有連接到Dns伺服器所以無法解析這個IP地址,也可能是IP地址不存在。
"Source quench received"信息比較特殊,它出現的機率很少。它表示對方或中途的伺服器繁忙無法回應。
怎樣使用Ping這命令來測試網路連通呢?
連通問題是由許多原因引起的,如本地配置錯誤、遠程主機協議失效等,當然還包括設備等造成的故障。
首先我們講一下使用Ping命令的步驟。
使用Ping檢查連通性有五個步驟:
1. 使用ipconfig /all觀察本地網路設置是否正確;
2. Ping 127.0.0.1,127.0.0.1 回送地址Ping回送地址是為了檢查本地的TCP/IP協議有沒有設置好;
3. Ping本機IP地址,這樣是為了檢查本機的IP地址是否設置有誤;
4. Ping本網網關或本網IP地址,這樣的是為了檢查硬體設備是否有問題,也可以檢查本機與本地網路連接是否正常;(在非區域網中這一步驟可以忽略)
5. Ping遠程IP地址,這主要是檢查本網或本機與外部的連接是否正常。
在檢查網路連通的過程中可能出現一些錯誤,這些錯誤總的來說分為兩種最常見。
1. Request Timed Out
"request time out"這提示除了在《PING(一)》提到的對方可能裝有防火牆或已關機以外,還有就是本機的IP不正確和網關設置錯誤。
①、IP不正確:
IP不正確主要是IP地址設置錯誤或IP地址沖突,這可以利用ipconfig /all這命令來檢查。在WIN2000下IP沖突的情況很少發生,因為系統會自動檢測在網路中是否有相同的IP地址並提醒你是否設置正確。在NT中不但會出現"request time out"這提示而且會出現"Hardware error"這提示信息比較特殊不要給它的提示所迷惑。
②、網關設置錯誤:這個錯誤可能會在第四個步驟出現。網關設置錯誤主要是網關地址設置不正確或網關沒有幫你轉發數據,還有就是可能遠程網關失效。這里主要是在你Ping外部網路地址時出錯。錯誤表現為無法Ping外部主機返回信息"Request timeout"。
2. Destination Host Unreachable
當你在開始PING網路計算機時如果網路設備出錯它返回信息會提示"destination host unreachable"。如果區域網中使用DHCP分配IP時,而碰巧DHCP失效,這時使用 PING命令就會產生此錯誤。因為在DHCP失效時客戶機無法分配到IP系統只有自設IP,它往往會設為不同子網的IP。所以會出現"Destination Host Unreachable"。另外子網掩碼設置錯誤也會出現這錯誤。
還有一個比較特殊就是路由返回錯誤信息,它一般都會在"Destination Host Unreachable"前加上IP地址說明哪個路由不能到達目標主機。這說明你的機器與外部網路連接沒有問題,但與某台主機連接存在問題。
舉個例子吧。
我管理的網路有19台機,由一台100M集線器連接伺服器,使用DHCP動態分配IP地址。
有一次有位同事匆忙地告訴我"我的OUTLOOK打不開了",我到他機器檢查,首先我檢查了本地網路設置,我用ipconfig /all看IP分配情況一切正常。接著我就開始PING網路中的其中一台機器,第一次PING結果很正常,但outlook還是無法使用其它網路軟體和Copy網路文件都可以使用但網路速度很慢,第二次PING我用了一個參數-t(-t可以不中斷地PING對方,當時我想PING一次可能發現不了問題)發現有time=30ms和request time out,從伺服器PING這台機就更有趣,request time out比正常數據還多,在局域中竟然有time=30ms和request time out太不正常了。開始我認為是網卡的問題但換網卡後故障依舊,重做網線還是不能解決問題,這故障真有趣!最後我沒辦法了把它插在集線器埠上的另一端的網線換到另一個埠,哈!故障解決了。原來是集線器埠壞了。
如何用Ping命令來判斷一條鏈路的速度?
Ping這個命令除了可以檢查網路的連通和檢測故障以外,還有一個比較有趣的用途,那就是可以利用它的一些返回數據,來估算你跟某台主機之間的速度是多少位元組每秒
我們先來看看它有那些返回數據。
Pinging 202.105.136.105 with 32 bytes of data:
Reply from 202.105.136.105: bytes=32 time=590ms TTL=114
Reply from 202.105.136.105: bytes=32 time=590ms TTL=114
Reply from 202.105.136.105: bytes=32 time=590ms TTL=114
Reply from 202.105.136.105: bytes=32 time=601ms TTL=114
Ping statistics for 202.105.136.105:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 590ms, Maximum = 601ms, Average = 593ms
在例子中"bytes=32"表示ICMP報文中有32個位元組的測試數據(這是估算速度的關鍵數據),"time=590ms"是往返時間。
怎樣估算鏈路的速度呢?舉個例子吧。我們把A和B之間設置為PPP鏈路。
從上面的PING例子可以注意到,默認情況下發送的ICMP報文有32個位元組。除了這32個位元組外再加上20個位元組的IP首部和8個位元組的ICMP首部,整個IP數據報文的總長度就是60個位元組(因為IP和ICMP是Ping命令的主要使用協議,所以整個數據報文要加上它們)。另外在使用Ping命令時還使用了另一個協議進行傳輸,那就是PPP協議(點對點協議),所以在數據的開始和結尾再加上8個位元組。在傳輸過程中,由於每個位元組含有8bit數據、1bit起始位和1bit結束位,因此傳輸速率是每個位元組2.98ms。由此我們可以估計需要405ms。即68*2.98*2(乘2是因為我們還要計算它的往返時間)。
我們來測試一下33600 b/s的鏈路:
Pinging 202.105.36.125 with 32 bytes of data:
Reply from 202.105.36.125: bytes=32 time=415ms TTL=114
Reply from 202.105.36.125: bytes=32 time=415ms TTL=114
Reply from 202.105.36.125: bytes=32 time=415ms TTL=114
Reply from 202.105.36.125: bytes=32 time=421ms TTL=114
Ping statistics for 202.105.36.125:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 415ms, Maximum = 421ms, Average = 417ms
看是不是差不多啊。
這里大家可能要注意到,這估算值跟實際值是有誤差的,為什麼呢?因為我們現在估算的是一個理論值,還有一些東西我們沒有考慮。比如在網路中的其它干擾,這些干擾主要來之別的計算機。因為在你測試時不可能全部計算機停止使用網路給你做測試,這是不實際的。另外就是傳輸設備,因為有某些設備如MODEM它在傳輸時會把數據壓縮後再發送,這大大減少了傳輸時間。這些東西產生的誤差我們是不能避免的,但其數值大約在5%以內我們都可以接受(利用MODEM傳輸例外),但是可以減少誤差的產生。比如把MODEM的壓縮功能關閉和在網路沒有那麼繁忙時進行測試。有時候誤差是無須消除的。因為我們需要這些誤差跟所求得的理論值進行比較分析,從而找出網路的缺陷而進行優化。這時測試網路的所有數據包括誤差都會成為我們優化的依據。
還要注意,這種演算法在區域網並不適用,因為在區域網中速度非常的快幾乎少於1ms,而Ping的最小時間解析度是1ms,所以根本無法用Ping命令來檢測速度。如果想測試速度那就要用專門儀器來檢測。
總的來說,Ping命令是一個在故障檢查方面很有用而且很便利的工具,你不應該忽視它的存在。
歡迎追問哦! 謝謝!!記得採納哦 呵呵
I. rectangle命令特點和用法
Rectangle 指定坐標空間中的一個區域,通過坐標空間中 Rectangle 對象左上方的點 (x,y)、寬度和高度可以定義這個區域。
其構造函數Rectangle(int x, int y, int width, int height)
height
Rectangle 的高度。
width
Rectangle 的寬度。
x
Rectangle 左上角的 X 坐標。
y
Rectangle 左上角的 Y 坐標。
Rectangle 對象的 width 和 height 是 public 欄位。創建 Rectangle 的構造方法,以及可以修改該對象的方法,都允許將 width 和 height 設置為負值。
對於 width 或 height 正好為 0 的 Rectangle,它在相應軸上存在維數為 0 的位置,但在這種情況下,也可將其視為空的 Rectangle。對於這種 Rectangle,isEmpty() 方法將返回 ture。 如果兩個維數中任一維數為 0,則測試空 Rectangle 是否包含某個點或是否與某個矩形相交的方法將始終返回 false。用點或矩形合並這種 Rectangle 的方法將在結果中包含 Rectangle 在該軸上的位置,正如調用 add(Point) 方法一樣。
對於 width 或 height 為負值的 Rectangle,它在相應軸上並不存在維數為負的位置或維數。這種 Rectangle 將被視為不存在相應的軸上。對於包含計算,這種 Rectangle 也為空,測試它是否包含某個點或是否與某個矩形相交的方法將始終返回 false。用點或矩形合並這種 Rectangle 的方法將在生成結果時完全忽略 Rectangle。如果合並了兩個 Rectangle 對象,且每個對象都具有一個負維數,則結果中至少有一個負維數。
對於僅影響 Rectangle 位置的方法,無論 Rectangle 是否沿任一軸具有負維數或 0 維數,都將在其位置上進行操作。
注意,用默認不帶參數的構造方法構造的 Rectangle 將具有 0x0 維數,因此為空。Rectangle 仍然具有 (0,0) 的位置,且將該位置用於合並和添加操作。因此,嘗試累積點集合范圍的代碼最初應使用具體的負 width 和負 height 來構造 Rectangle,或者應使用該集合中的第一個點構造 Rectangle。
J. 公文中「命令」的特點是什麼: A權威性B知照性C指揮性D強制性E嚴肅性 答案各不相同,爭議在於"嚴
是。有嚴肅性才能讓公民去嚴謹對待。(無論從任一方面去討論)