From the course: Learning Assembly Language
Unlock the full course today
Join today to access over 22,600 courses taught by industry experts or purchase this course individually.
Extended move instructions - Python Tutorial
From the course: Learning Assembly Language
Extended move instructions
- [Instructor] Let's take a look at how we move, into and around the Extended Capability registers. To start with, we'll declare, 128 bit value. Which has to be aligned on a 16 byte boundary. In the code section, we'll Load xmm1, with our 128 bit value, in memory. movaps xmm1,val12x And we can code a special moving instruction, to move the top 64 bit half of one extended register into another register, in this case, xmm2. movhlps xmm2,xmm1 And let's Build and Debug that. Run to user code, and down into our moves, and as we move xmm1, with our value in memory, we can see the value set, and the movhlps. We move the top half into the bottom of xmm2. Another advanced register instruction, is the move with mask. This instruction, uses two 10 byte registers. Which are coded as mm registers. And sometimes also called st registers. One is used as an import value, and the second a mask. And the result is written into the…
Practice while you learn with exercise files
Download the files the instructor uses to teach the course. Follow along and learn by watching, listening and practicing.
Contents
-
-
-
-
Setting up a program skeleton4m 27s
-
Understanding registers and memory8m 5s
-
Data types3m 18s
-
Using data structures6m 13s
-
The move and exchange instructions7m 22s
-
Extended move instructions3m 44s
-
Logical or bitwise operators5m 40s
-
Arithmetic operators5m 12s
-
Controlling the assembler flow5m 22s
-
Indirect addressing and pointers4m 50s
-
Console Input and output4m 47s
-
Challenge1m 24s
-
Solution4m 20s
-
-
-
-
-
-